Fix thunder sounds not playing properly
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Limit lightning strike effect distance
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 7ac07ac07ac0..7ac07ac07ac0 100644
|
||||
index 93bf8c6d..f94fa5df 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||
@@ -13,15 +13,13 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
|
||||
}
|
||||
}
|
||||
+
|
||||
+ public double sqrMaxLightningSoundDistance;
|
||||
+ public double sqrMaxThunderDistance;
|
||||
+ public double sqrMaxLightningImpactSoundDistance;
|
||||
+ public double maxLightningFlashDistance;
|
||||
+ private void lightningStrikeDistanceLimit() {
|
||||
+ sqrMaxLightningSoundDistance = getInt("lightning-strike-distance-limit.sound", -1);
|
||||
+ if (sqrMaxLightningSoundDistance < 0) {
|
||||
+ sqrMaxLightningSoundDistance = Double.MAX_VALUE;
|
||||
+ } else {
|
||||
+ sqrMaxLightningSoundDistance *= sqrMaxLightningSoundDistance;
|
||||
+ sqrMaxThunderDistance = getInt("lightning-strike-distance-limit.sound", -1);
|
||||
+ if (sqrMaxThunderDistance > 0) {
|
||||
+ sqrMaxThunderDistance *= sqrMaxThunderDistance;
|
||||
+ }
|
||||
+
|
||||
+ sqrMaxLightningImpactSoundDistance = getInt("lightning-strike-distance-limit.impact-sound", -1);
|
||||
@@ -40,7 +38,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
|
||||
public boolean firePhysicsEventForRedstone = false;
|
||||
private void firePhysicsEventForRedstone() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java
|
||||
index 7ac07ac07ac0..7ac07ac07ac0 100644
|
||||
index afbe43dd..d732be52 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLightning.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLightning.java
|
||||
@@ -0,0 +0,0 @@ public class EntityLightning extends EntityWeather {
|
||||
@@ -51,9 +49,12 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
|
||||
+ if (distanceSquared <= this.world.paperConfig.sqrMaxLightningImpactSoundDistance) {
|
||||
+ player.playerConnection.sendPacket(new PacketPlayOutNamedSoundEffect(SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT,
|
||||
+ SoundCategory.WEATHER, this.locX, this.locY, this.locZ, 2.0f, 0.5F + this.random.nextFloat() * 0.2F));
|
||||
+ } else {
|
||||
+ }
|
||||
+
|
||||
+ if (world.paperConfig.sqrMaxThunderDistance != -1 && distanceSquared >= world.paperConfig.sqrMaxThunderDistance) {
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ // Paper end
|
||||
if (distanceSquared > viewDistance * viewDistance) {
|
||||
double deltaLength = Math.sqrt(distanceSquared);
|
||||
@@ -68,7 +69,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644
|
||||
|
||||
--this.lifeTicks;
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 7ac07ac07ac0..7ac07ac07ac0 100644
|
||||
index a54ea5a6..818e4c37 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
|
||||
Reference in New Issue
Block a user