PaperSpigot-Parent/Spigot-Server-Patches/0067-Configurable-TNT-explosion-volume.patch
2015-09-14 20:37:51 -05:00

41 lines
1.9 KiB
Diff

From ae0bafba16c127e0ef08c62a9a65bd8bbb47473e Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 4 Aug 2015 17:45:00 -0700
Subject: [PATCH] Configurable TNT explosion volume
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index a60d3dd..b7d410e 100644
--- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -164,7 +164,10 @@ public class Explosion {
}
public void a(boolean flag) {
- this.world.makeSound(this.posX, this.posY, this.posZ, "random.explode", 4.0F, (1.0F + (this.world.random.nextFloat() - this.world.random.nextFloat()) * 0.2F) * 0.7F);
+ // PaperSpigot start - Configurable TNT explosion volume.
+ float volume = source instanceof EntityTNTPrimed ? world.paperSpigotConfig.tntExplosionVolume : 4.0F;
+ this.world.makeSound(this.posX, this.posY, this.posZ, "random.explode", volume, (1.0F + (this.world.random.nextFloat() - this.world.random.nextFloat()) * 0.2F) * 0.7F);
+ // PaperSpigot end
if (this.size >= 2.0F && this.b) {
this.world.addParticle(EnumParticle.EXPLOSION_HUGE, this.posX, this.posY, this.posZ, 1.0D, 0.0D, 0.0D, new int[0]);
} else {
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
index 84cdb12..3f8bffc 100644
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
@@ -402,4 +402,10 @@ public class PaperSpigotWorldConfig
{
containerUpdateTickRate = getInt( "container-update-tick-rate", 1 );
}
+
+ public float tntExplosionVolume;
+ private void tntExplosionVolume()
+ {
+ tntExplosionVolume = getFloat( "tnt-explosion-volume", 4.0F );
+ }
}
--
2.5.2