package mods.eln.sim.process.destruct;
import mods.eln.Eln;
import mods.eln.misc.Coordonate;
import mods.eln.node.six.SixNodeElement;
import mods.eln.node.transparent.TransparentNodeElement;
import mods.eln.simplenode.energyconverter.EnergyConverterElnToOtherNode;
import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
public class WorldExplosion implements IDestructable {
Object origine;
Coordonate c;
float strength;
String type;
public WorldExplosion(Coordonate c) {
this.c = c;
}
public WorldExplosion(SixNodeElement e) {
this.c = e.getCoordonate();
this.type = e.toString();
origine = e;
}
public WorldExplosion(TransparentNodeElement e) {
this.c = e.coordonate();
this.type = e.toString();
origine = e;
}
public WorldExplosion(EnergyConverterElnToOtherNode e) {
this.c = e.coordonate;
this.type = e.toString();
origine = e;
}
public WorldExplosion cableExplosion() {
strength = 1.5f;
return this;
}
public WorldExplosion machineExplosion() {
strength = 3;
return this;
}
@Override
public void destructImpl() {
//NodeManager.instance.removeNode(NodeManager.instance.getNodeFromCoordonate(c));
if (Eln.instance.explosionEnable)
c.world().createExplosion((Entity) null, c.x, c.y, c.z, strength, true);
else
c.world().setBlock(c.x, c.y, c.z, Blocks.air);
}
@Override
public String describe() {
return String.format("%s (%s)", this.type, this.c.toString());
}
}