Minecraft ExplosionPhysics mod 2026 download
logo
minecraft mod ExplosionPhysics

ExplosionPhysics

Game Version: CB 1.7.2-R0.2
Total Downloads: 3,375
Updated: Oct 14, 2012
Created: Oct 9, 2012
Download ExplosionPhysicsDownload Earlier Versions

Earlier Versions

Name Size Uploaded Game Version Downloads
1.0.1 release 3.93 KB Oct 14, 2012 CB 1.7.2-R0.2 2,722 download ExplosionPhysics 1.0.1 releaseDownload
ExplosionPhysics 1.0 release 3.44 KB Oct 9, 2012 CB 1.3.2-R1.0 653 download ExplosionPhysics ExplosionPhysics 1.0 releaseDownload

Screenshots

Description

Share this:

When a TNT block or other explosive goes off, it will turn all blocks into falling blocks, and then shoot them off with a vector away from the source explosion. All drops are cancelled. Have fun!
All it does, is convert the blocks that n explosion would normally destroy into FallingBlock entities. It then shoots those entities off in different directions. Also it will not run the method if the event is cancelled (in the case of worldguard cancelling explosive block damage)
First, find something to blow up.
Next, cover it in TnT.
Cover it. get ready to blow it up!
KABOOM! WATCH THOSE BLOCKS FLY!
Aftermath

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package explosionphysics;

import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.entity.FallingBlock;
import org.bukkit.event.Event;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.Vector;

/**
 *
 * @author Taylor
 */
public class ExplosionPhysics extends JavaPlugin implements Listener{
	public ArrayList<Material> disallowedBlocks = new ArrayList<Material>();
	@Override
	public void onEnable(){
		getServer().getPluginManager().registerEvents(new ExplosionPhysics(), this);
		disallowedBlocks.clear();
		disallowedBlocks.add(Material.TNT);
		disallowedBlocks.add(Material.PISTON_BASE);
		disallowedBlocks.add(Material.PISTON_EXTENSION);
		disallowedBlocks.add(Material.PISTON_MOVING_PIECE);
		disallowedBlocks.add(Material.PISTON_STICKY_BASE);
	}

	@EventHandler(priority = EventPriority.NORMAL)
	public void onBlockExplode(org.bukkit.event.entity.EntityExplodeEvent e){
		if (e.isCancelled()){return;}
		if (e.blockList().isEmpty()){return;}
		e.setYield(0F);
		double x = 0;
		double y = 0;
		double z = 0;
		Location eLoc = e.getLocation();
		World w = eLoc.getWorld();
		for (int i = 0; i < e.blockList().size();i++){
			Block b = e.blockList().get(i);
			Location bLoc =b.getLocation();
			if (disallowedBlocks.contains(b.getType())){continue;}
			x = bLoc.getX() - eLoc.getX();
			y = bLoc.getY() - eLoc.getY() + .5;
			z = bLoc.getZ() - eLoc.getZ();
			FallingBlock fb = w.spawnFallingBlock(bLoc, b.getType(), (byte)b.getData());
			fb.setDropItem(false);
			fb.setVelocity(new Vector(x,y,z));
		}
		
	}
}

Comments

Add a comment