Конфигурация плагина AntiCreeper

AntiCreeper — New Configuration — Bukkit

AntiCreeper now has in-line commands. If you wish, you can use those and «save» the settings without editing.

Video tutorials

Some people have spent the time to make video tutorials on this plugin. Thanks to them! Here are a few:

Old configuration names

Versions 3.1.x and lower user the less flexible configuration fields, but version 3.2 has been built to be backward-compatible with the older config files. So you shouldn’t have to change your config.yml if you don’t want to change anything. But if you wanted the ability to set depth or yield or blocklist differently for creeper & TNT explosions, you have to use the new format.

Description

Allows control over explosions of type creeper, TNT, wither, dragon, minecart, wither skull, fireball, crystal and unknown. Each has a config section, named nerf_creeper, nerf_tnt, nerf_fireball, nerf_dragon, nerf_crystal, nerf_unknown. These names must exist at the beginning of the line, have a colon at the end, and all the subsidiary controls must be indented exactly two spaces.

TNT Minecart, skull, and fire charge controls are optional, and override the more generic TNT and fireball controls. If you wish unique settings for these, you would put them under nerf_tnt.minecart:, nerf_fireball.skull: or nerf_fireball.charge nodes. First two allow all the same options as the base explosion types, but because fire charges (i.e. small fireballs) don’t actually explode, the only applicable field is entitydamage.

Exception: blocklist is the exception. Minecart and skull filters will not default to their parent config; if you want a blockfilter for minecart or skulls, set one under nerf_tnt.minecart.blockfilter or nerf_fireball.skull.blockfilter.

For each type of explosion, the following controls are permitted:

  • .explodeblocks true|false Equivalent to old damageblocks (which form is still supported)
    • If false, the explosion occurs but doesn’t damage any placed blocks, but would still damage players.
  • .depth: <integer>
    • if set, disables explodeblocks=false above the supplied depth. Hence, the explosion would not be nerfed. Typically used for «explode when underground».
    • alternative form now supports reverse logic
      • .explodeabove: true|false If true, reverses the logic so only explodes above provided depth
      • .value: sets the depth value
  • .fire true|false Sets whether or not this explosion type can start fires. Note that unless there are blocks being damaged, it is unlikely to find places to set fire.
  • .effects true|false If false, NO smoke or sound. Ignored if not nerfed nor filtered.
    • Note that if set false, it will also disable entity physics (i.e. «pushing»).
  • .power <number> Overrides default radius/power of the explosion.
    • Decimal points are allowed, as in 3.1415926535. Negatives not allowed
    • Explosion visual increases as power increases. Beware of increasing TNT power so much that you cannot run away far enough after lighting it.
    • If zero, no blocks will be damaged, nor entities. Equivalent to setting explodeblocks false and all entitydamage false.
    • Charged (electrocuted) creepers are still doubled in power.
  • exception_worlds: a list of world names for which Anticreeper will NOT modify this explosion type.
    • for example, nerf TNT in your PVP world but not in your adventure world

Effective when the explosion is NOT nerfed

The following are only effective when the explosion still damages blocks (i.e. explodeblocks=true or above .depth or a blocklist active)

  • .yield <integer> Equivalent to old creeper_yield, but now possible to have different yields for each type.
    • If set to 0-100, determines the percentage of blocks dropped when explodeblocks=true.
  • .blocklist Equivalent to old creeper_list and tnt_list.
    • list of comma-separated decimal block IDs that the explosion will NOT impact
    • supports #:# form to specify certain types of blocks, like birch wood is 17:2
      • Note that Bukkit is deprecating hard ID numbers; and support for them may be removed from a future version
    • Instead, use Material strings, which are also supported. Expected string names may match this list.
    • Also support alternative, more common, names for blocks and for blocks with data, like «Yellow_Wool». Full list is here.
      • Strings for new 1.7 woods, Acacia and Dark Oak, supported
  • .whitelist true|false Equivalent to old block_whitelist, but now possible to set creepers & TNT differently
    • set to true to flip blocklist to be a list of the only blocks that will be affected
  • .blockphysics true|false If true, throws damaged blocks away from explosion center.
    • not randomized right now so things are evenly distributed
    • can cause lag if you set it for TNT and have large chained TNT explosions
    • TNT cannons will still work, unless you’ve set effects false.

Wither

Note that wither skulls are controlled separately from nerf_wither; since they are a type of «fireball», they are by default controlled by nerf_fireball node, unless you have a specific settings for them under nerf_fireball.skull. nerf_wither affects the initial explosion of the wither.

The wither has the ability to «walk through walls» or otherwise destroy blocks around it. These are not explosions, and are controlled by the node

  • .destroyblocks true|false If false, wither can still walk through walls, but won’t destroy it.
  • .explodeblocks only applies to the initial spawning explosion
  • .blocklist applies to either activity, explosion or walking through walls.

Entity Damage

Because Bukkit classifies many things as entities, at your request I have split out .entitydamage so you can control damage to different entity types. Because of Bukkit event sequences, canceling damage also cancels setting an entity on fire. This behavior has been confirmed for charge.toplayer and is expected to apply at least also tomob.

Under entity damage, you may now add the following

  • .toplayer If false, NO damage to players.
  • .tomob If false, no other living entities (animals, mobs, NPCs) will take damage
    • .tohostilemob overrides tomob for hostile mobs including spiders, endermen, pigmen
    • .topeacefulmob overrides tomob for peaceful mobs including wolves
  • .topainting If false, placed paintings or item frames (NEW) will not be dislodged
  • .todrops If false, dropped items on the ground will not disappear
  • .toitem if false, placed items (ex. vehicles, falling sand, primed TNT) will not take damage
  • .depth: <number> Below this depth, all items in .entitydamage are ignored
    • alternative form now supports reverse logic
      • .explodeabove: true|false If true, reverses the logic so only explodes above provided depth
      • .value: sets the depth value

If you don’t use the new refined items above but still have an entry .entitydamage: true the following will set to true:

  • .toplayer
  • .tomob
  • .toitem

but todrops and topainting will be set false to retain backward compatibility, except for under nerf_lightning. Setting entitydamage: false will set all to false.

Do NOT simply add the above items under an .entitydamage: true statement, or load config will fail.

Nerfing Lightning

Lightning is not an explosion, so the only thing that applies to lightning is the entitydamage node as described above.

Nerfing Ender Dragon

The dragon actually «explodes» the blocks it passes through, so the following notes are supported under nerf_dragon:

  • blocklist, whitelist
  • explodeblocks

World names

  • nerfed_worlds: list of world names where above configuration is effective. Names here MUST MATCH world names on your server, or AntiCreeper will do nothing.

Enderman nerfing

Version 3.3 added the ability to nerf the following endermen behaviors, under the nerf_endermen node:

  • .blockliftok disallows block lifting when set false
    • configurably filter which blocks they can lift, similar to above blocklist and whitelist variables
    • Note that by default Minecraft already has a whitelist of only 14 block types, consisting of mostly things people don’t build with.
    • For your convenience, see the commented out field below for nerf_endermen.blocklist. You can either leave the ones you want them to ignore, or set nerf_endermen.whitelist=true and delete the ones you want them to avoid.
  • .blockplaceok disallows block placement when set false, if you don’t mind the holes but do mind the random placement of blocks.
    • didn’t add a blocklist specific to block placement; they can place anything they pick up.
  • .teleportok can disable endermen teleporting if you want, but they end up looking glitchy (drawn moving away, then back) and really get upset if it’s raining.

Exploding Beds

nerf_beds true will disable exploding beds in any nether environment/world.

Defaults

The following are the defaults if you have not created your own AntiCreeper3/config.yml:

nerf_creeper:
  explodeblocks: false
  depth: 0   #that is, everywhere
#  yield:  not set; defaults to system default
#  blocklist:  not set
  entitydamage:
    toplayer: true
    tomob: true
    toitem: true
    todrops: false
    topainting: false
  effects: true
  whitelist: false
  fire: false

nerf_fireball:
  explodeblocks: false
  fire: true
# rest as creepers
  skull:  
    fire: false
# Nothing else different than fireball
# charge:  Nothing different than fireball

nerf_wither:
  explodeblocks: false
  destroyblocks: true // because without it, this boss becomes easier to kill
  fire: false
  depth: 0   #that is, everywhere
#  rest as creepers

nerf_tnt:
  explodeblocks: false
  fire: false
# rest as creepers
#  minecart: nothing different than TNT

nerf_crystal:
  explodeblocks: true
# rest as creepers

nerf_endermen:
  teleportok: true
  blockliftok: true
  blockplaceok: true
  whitelist: false
#  blocklist: 2,3,12,13,37,38,39,40,46,81,82,86,103,110

nerf_lightning:
  entitydamage:
    toplayer: true
    tomob: true
    toitem: true
    todrops: true
    topainting: true

# Ensures vanilla behavior, not nerfing
nerf_dragon:
  explodeblocks: true
  yield: -1   # force to system default
  entitydamage:
    toplayer: true
    tomob: true
    toitem: true
    todrops: true
    topainting: true
  depth: 0   #that is, everywhere

nerf_beds: false

nerfed_worlds:
# all worlds on server

Examples

«Generous Creepers» Config

Allow creepers to damage blocks everywhere, but return 100% of blocks so players can rebuild

nerf_creeper:
  explodeblocks: true
  yield: 100

«No TNT chains» Config

Allow TNT to damage anything, anywhere, except another TNT block.

nerf_tnt:
  explodeblocks: true
  blocklist: 46
# will apply to minecarts too

«Only TNT chains» Config

Allow TNT to damage only other TNT, anywhere, except another TNT block. Still will damage players and other living entities.

nerf_tnt:
  explodeblocks: true
  blocklist: 46
  whitelist: true

Nerf all Endermen pickups

nerf_endermen:
  blockliftok: false

Reverse depth on TNT

nerf_tnt:
  depth:
    value: 60
    explodeabove: true

Make TNT Minecarts more powerful

nerf_tnt:
  power: 4   # the default
  minecart:
    power: 6

Damage everything but paintings and dropped items +and peaceful mobs++

To do this, you have to configure a blocklist or else the entitydamage fields are not effective. If you really want all blocks to be damaged, select something mounted on another block; they will be dropped when their supporting block is dropped. I suggest flowers. Of course, paintings are subject to the same problem! Below example uses nerf_fireball, but could equally apply to any explosion. Also you need the nerf_lightning node if you want to nerf damage caused by lightning.

nerf_fireball:
  explodeblocks: true
  blocklist: 38
  entitydamage:
    toplayer: true
    tomob: true
    topeacefulmob: false
    toitem: true
    todrops: false
    topainting: false
nerf_lightning:
  entitydamage:
    toplayer: true
    tomob: true
    topeacefulmob: false
    toitem: true
    todrops: false
    topainting: false

Vanilla Minecraft values

The following values would have NO change on game mechanics, but may be useful if you are trying to change only one or two things. Note that if you set something fireballs, it will also apply to skulls unless you specifically set a different value for skulls. Same for TNT settings will also apply to TNT minecarts. If you set a blockfilter for TNT or fireball and do not want one set for carts or skulls, add a blocklist that has nearly no effect. See below for skull.

# power fields if not set are at default, but I post current Minecraft values
# fire fields not set also go to default, but I post my current understanding.
# yield defaults to 1/power in vanilla Minecraft

nerf_creeper:
  explodeblocks: true
  depth: 0   #that is, everywhere
  blockphysics: false
#  yield:  not set; defaults to system default
#  blocklist:  not set
  entitydamage:
    toplayer: true
    tomob: true
    toitem: true
    todrops: true
    topainting: true
  effects: true
  whitelist: false
  fire: false
  power: 3.0

nerf_fireball:
  fire: true
  power: 1.0
# rest as creepers
  skull:  
    fire: false
# Nothing else different than fireball, but uncomment below if you set them for fireball
#    power: 1.0
#    yield: 100
#    blocklist: YELLOW_FLOWER
#    whitelist: false
  charge:
    entitydamage:
      toplayer: true
# this just for illustration if you need to make charges different than large (i.e. ghast) fireballs

nerf_wither:
  destroyblocks: true 
  fire: false
  power: 7.0
#  rest as creepers

nerf_tnt:
  fire: false
  power: 4.0
# rest as creepers
  minecart: 
# nothing different than TNT; see above comment for skulls and do the same here.
#    power: 4.0

nerf_crystal:
  explodeblocks: true
  power: 6.0
# rest as creepers

nerf_unknown:
  explodeblocks: true
  # rest as creepers.

nerf_endermen:
  teleportok: true
  blockliftok: true
  blockplaceok: true
  whitelist: false
  blocklist: 2,3,12,13,37,38,39,40,46,81,82,86,103,110

nerf_lightning:
  entitydamage:
    toplayer: true
    tomob: true
    toitem: true
    todrops: true
    topainting: true

nerf_dragon:
  power: 0
  explodeblocks: true
# Ensures vanilla behavior, not nerfing
  yield: -1   # force to system default
  entitydamage:
    toplayer: true
    tomob: true
    toitem: true
    todrops: true
    topainting: true
  depth: 0   #that is, everywhere

nerf_beds: false

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *