Importing the class

Link to importing-the-class

It might be required to import the class to avoid errors.
import crafttweaker.world.IExplosion;

Creating an IExplosion object

Link to creating-an-iexplosion-object

To create an IExplosion object, you must obtain it from an IWorld and call it with any of these three methods:

  • world.createExplosion(IEntity, double, double, double, float, bool, bool);
  • world.performExplosion(IEntity, double, double, double, float, bool, bool);
  • world.performExplosion(IExplosion);

ZenGetters and ZenSetters

Link to zengetters-and-zensetters

ZenGetterZenSetterTypeDescription
ZenGetter
world
ZenSetter
Type
IWorld
Description
The world of the explosion.
ZenGetter
placedBy
ZenSetter
Type
IEntityLivingBase
Description
The entity that initiated the explosion. If the explosion was caused by TNT, the entity is the entity that placed down the TNT, if applicable. Can be null.
ZenGetter
position
ZenSetter
Type
Position3f
Description
The position of the explosion.
ZenGetter
affectedBlockPositions
ZenSetter
affectedBlockPositions
Type
IBlockPos[ ]
Description
A list of block positions that the explosion affects. May be null/empty before doExplosionA() is called.
ZenGetter
playerKnockbackMap
ZenSetter
Type
IVector3d[IPlayer]
Description
A map of players in the explosion area mapped to their respective knockbacks taken from the explosion.
  • clearAffectedBlockPositions() - clears the list of affected block positions
  • onExplosionStart(IWorld world) - returns a bool that is the result of the ExplosionStart event in the specified world, so this should be called if you want to use logic to possibly cancel your explosion before detonating it manually.
  • doExplosionA() - performs the first part of the explosion; this includes entity damage, entity knockback, and affectedBlockPositions assignment.
  • doExplosionB(bool spawnParticles) - performs the second part of the explosion; this includes sounds, particles, block destruction/dropping, and fire creation.