Configuration

Configuration

[To be extended...]

This page describes the configuration of FatTnt 0.2.0-DEV-3.

Full default configuration (0.2.0-DEV-3): http://dev.bukkit.org/paste/5853/

Hints:

By default all explosions are handled.

General Settings

You can customize how much time the schedulers can spend per tick, and how many items they may store (global, per chunk). These settings are hidden and have to be added by hand.

Below are entries for the explosions scheduler, the same entries can be made for entities and items schedulers.

scheduler:
  explosions:
    # "Chunk" size, to put explosions into, defaults to minecraft chunk size.
    chunk-size: 16
    process:
      # Maximum number of entries to process:
      max-total: 20
      # Maximal time to spend on processing per tick in nanoseconds:
      # (Defaults to 3.5 milliseconds.)
      max-nanos: 3500000
    store:
      # Maximum total number of entries to store:
      max-total: 5000
      # Maximum number of entries to store per chunk (see chunk-size):
      max-chunk: 50
      # Maximum time to store an entry:
      max-millis: 2000

You have to count in roughly twice the time of max-nanos for process, especially for explosion processing is pretty heavy. You might want to adapt the item scheduler to higher values to avoid items getting not spawned at all in explosion hotspots (important if you wnat items not to be destoyed). The explosion calculation uses much more time than entities and items with the default configuration. [Default configuration will be adapted and displayed, later.]

Explosion Settings

You can set if to handle explosions at all, if to prevent all explosions, and if to prevent explosions that were not calculated by FatTnt.

handle-explosions: true
prevent-explosions: false
prevent-other-explosions: true

For explosions calculated by FatTnt you can control if to use the scheduler for explosions, for entities (tnt hit by other explosions, arrows) and for items (from destroyed blocks).

schedule-explosions: true
schedule-entities: true
schedule-items: true

Resistance settings define how strong an explosion must be a at at the location of a block to destroy it. You have a default value which applies for all blocks that are not in one of the sets in the section. The name of one set is arbitrary, just do not use the same name twice on the same level. Then you define the value of resistance for the set and a list of block ids for which this should apply.

# Do mind: this is now spelled resistance (unlike till 0.2.0-DEV-2).
resistance:
  default: 2.0
  low:
    value: 1.0
    ids:
    - 0
    - 8
    # ...
  # ...

Passthrough resistance... this is for blocks that can not be destroyed, but pass on the explosion. Defines the amount for how much the strength of the explosion decreases when passing this block. Same structure as with the resistance settings:

passthrough:
  default: 3.4028235E38
  # This section is empty by default, i will later add examples, maybe even split this to extra files for easier exchange.
  # Example for air, for instance useful to define if confinement is used.
  low:
    value: 1.0
    ids:
    - 0
    # ...

Block id list for blocks that propagate entitiy damage (These are to be checked for entities that are outside of the range of the core block destruction zone, but within the range with entity-radius applied.):

propagate-damage:
- 0
- 6
# ...

Basic explosion settings: [To be explained...]\

radius:
  # Maximally allowed explosion radius/strength (bigger will be cropped).
  max: 20.0
  # Random strength change +-*0.5 of this will be applied on each step.
  random: 0.2
multiplier:
   # Damage modifier (entities) for core block destruction zone.
  damage: 5.0
  # Radius multiplier (Strength):
  radius: 2.125
  max-path: 1.7
  straight: 0.85
  # Multiplier for velocity for projectiles, to toss them better (might need to activate them).
  projectiles: 3.0
  # Radius multiplier (effective strength*this = radius in which entites can get damaged):
  entity-radius: 2.0
# Chance to drop something from an exploded block
yield: 0.2
# Chance for entities / items to survive if hit by the explosion:
# Applies at any distance from center, 
# within the core block destruction one:
entity-yield: 0.2

Velocity settings apply if entities are hit by the explosion, this can be interesting also for directly tossing tnt-blocks (tnt-primed: true) and item-arrows settings, but also for tnt-cannons. With projectiles you can set that arrows and other get tossed when flying or sticking to some block.

projectiles: false
velocity:
  use: true
  min: 0.2
  center: 1.0
  random: 0.5
  tnt-primed: false
  cap: 3.0

Transform items into entities (tnt, arrows):

item-tnt: false
max-items: 15
item-arrows: false

TNT settings (1/20th of a second) for fuse ticks, chosen randomly :

min-prime: 30
max-prime: 80
# The following is unused:
tnt:
  thresholds:
    direct-explode: 2.0

Armor depletion settings, you can make the armor depletion proportional to the damage dealt (use-damage: true), base-depletion determines the minimum depletion:

armor:
  base-depletion: 3
  mult-damage: 0.5
  use-damage: false

Damage dealt to entities, outside of the core block destruction reach of the explosion (entity-radius multiplier):

distance-damage:
  mult: 0.4
  simple: false
  use: true

Confinement settings, you can prevent explosions destroying blocks outside of that y-coordinates. This is work in progress and currently this applies to all worlds.

confine:
  enabled: false
  y-min: 0
  y-max: 255

Physics options, currently not really usable. With step-physics to true, currently physics will not by applied (sand, water etc.). Intention was different, so this might change a lot (idea could be to apply some sort of changes later than the explosion takes place).

step-physics: false

World and entity specific settings

You can define explosion settings (except for scheduling) on a per entity and per world basis (also entities in worlds).

It is not needed to add all entries as in the default configuration, just add those you want to override. However if you use passthrough or resistance settings, they have to be present with default and individual sets, it is not possbile to just override the default resistence.

You can add a priority for the settings, if you want to ensure that the values do or do not override certain others that might be set. (normally the more specific settings will override the less specific settings: top-level-defaults <- top-level-explosding-entities <- world-defaults <- world-exploding-entities).

World specific settings

Some settings are also available on a per-world basis. The global presets are on top level of the configuration (example: confine), but you can also override the settings with a per world setting.

The world-dependent settings have to be inserted into the world-settings.<world-name> section, example for confine:

world-settings:
  mainworld_nether:
    confine:
      enabled: false

(Assuming that on top level a confinement might be defined, this disables the confine settigns for the nether.)

Entity specific settings

As part of world settings you can add explosion settings for specific exploding entities.

In this example The radius for a fireball is adapted, but you could also disable creeper explosions this way.

exploding-entities:
  FIREBALL:
    multiplier:
      radius: 3.2

Comments

Posts Quoted:
Reply
Clear All Quotes