From e73ace252e1104424673938eb66d3dd187413dd0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 23 Nov 2018 02:23:50 -0500 Subject: [PATCH] Fix thunder sounds not playing properly --- ...mit-lightning-strike-effect-distance.patch | 29 ++++++++++--------- ...event-players-from-moving-into-unloa.patch | 8 ++--- .../0408-Optimize-redstone-algorithm.patch | 14 ++++----- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/Spigot-Server-Patches/0388-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0388-Limit-lightning-strike-effect-distance.patch index 4d56baa312..aee998bdc9 100644 --- a/Spigot-Server-Patches/0388-Limit-lightning-strike-effect-distance.patch +++ b/Spigot-Server-Patches/0388-Limit-lightning-strike-effect-distance.patch @@ -1,27 +1,25 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From aa465a00b42e0ce2a01128f6259dc8b5ae402186 Mon Sep 17 00:00:00 2001 From: Trigary Date: Fri, 14 Sep 2018 17:42:08 +0200 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 -@@ -237,6 +237,30 @@ public class PaperWorldConfig { +@@ -237,6 +237,28 @@ public class PaperWorldConfig { skeleHorseSpawnChance = 0.01D; // Vanilla value } } + -+ 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,10 +38,10 @@ 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 -@@ -60,6 +60,14 @@ public class EntityLightning extends EntityWeather { +@@ -60,6 +60,17 @@ public class EntityLightning extends EntityWeather { double deltaX = this.locX - player.locX; double deltaZ = this.locZ - player.locZ; double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; @@ -51,14 +49,17 @@ 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); double relativeX = player.locX + (deltaX / deltaLength) * viewDistance; -@@ -70,7 +78,7 @@ public class EntityLightning extends EntityWeather { +@@ -70,7 +81,7 @@ public class EntityLightning extends EntityWeather { } } // CraftBukkit end @@ -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 @@ -1087,7 +1087,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0396-Add-option-to-prevent-players-from-moving-into-unloa.patch b/Spigot-Server-Patches/0396-Add-option-to-prevent-players-from-moving-into-unloa.patch index b40f650bbe..2b8e96103d 100644 --- a/Spigot-Server-Patches/0396-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/Spigot-Server-Patches/0396-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -1,4 +1,4 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From b11f5d117ae187d77bf6ebab8612110d6c48ba17 Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Mon, 22 Oct 2018 17:34:10 +0200 Subject: [PATCH] Add option to prevent players from moving into unloaded @@ -6,10 +6,10 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded 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 f94fa5df..1a8a9026 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -564,4 +564,9 @@ public class PaperWorldConfig { +@@ -562,4 +562,9 @@ public class PaperWorldConfig { replacementBlocks = getList("anti-xray.replacement-blocks", Arrays.asList("stone", "planks")); log("Anti-Xray: " + (antiXray ? "enabled" : "disabled") + " / Engine Mode: " + engineMode.getDescription() + " / Chunk Edge Mode: " + chunkEdgeMode.getDescription() + " / Up to " + ((maxChunkSectionIndex + 1) * 16) + " blocks / Update Radius: " + updateRadius); } @@ -20,7 +20,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 1e7f980e..4c1f17f8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -342,6 +342,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/Spigot-Server-Patches/0408-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0408-Optimize-redstone-algorithm.patch index c96ae93247..22044c0803 100644 --- a/Spigot-Server-Patches/0408-Optimize-redstone-algorithm.patch +++ b/Spigot-Server-Patches/0408-Optimize-redstone-algorithm.patch @@ -1,4 +1,4 @@ -From b49f9544a9d45081de36ca836fe839a8f84ce6c2 Mon Sep 17 00:00:00 2001 +From d86c84eaf859b8946d009e18c515d55abbbaeee5 Mon Sep 17 00:00:00 2001 From: theosib Date: Thu, 27 Sep 2018 01:43:35 -0600 Subject: [PATCH] Optimize redstone algorithm @@ -19,10 +19,10 @@ Aside from making the obvious class/function renames and obfhelpers I didn't nee Just added Bukkit's event system and took a few liberties with dead code and comment misspellings. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index eabb2c1ba..5fb6e263a 100644 +index 1a8a9026..69b42be4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -569,4 +569,14 @@ public class PaperWorldConfig { +@@ -567,4 +567,14 @@ public class PaperWorldConfig { private void preventMovingIntoUnloadedChunks() { preventMovingIntoUnloadedChunks = getBoolean("prevent-moving-into-unloaded-chunks", false); } @@ -39,7 +39,7 @@ index eabb2c1ba..5fb6e263a 100644 } diff --git a/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java new file mode 100644 -index 000000000..21d9d6d7e +index 00000000..21d9d6d7 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java @@ -0,0 +1,910 @@ @@ -954,7 +954,7 @@ index 000000000..21d9d6d7e + } +} diff --git a/src/main/java/net/minecraft/server/BlockRedstoneWire.java b/src/main/java/net/minecraft/server/BlockRedstoneWire.java -index 80bad6755..3b45489a4 100644 +index 80bad675..3b45489a 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneWire.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneWire.java @@ -1,5 +1,7 @@ @@ -1140,7 +1140,7 @@ index 80bad6755..3b45489a4 100644 iblockdata.a(world, blockposition, 0); world.setAir(blockposition); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7914f9b60..cdbb247da 100644 +index 7914f9b6..cdbb247d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -646,6 +646,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -1160,5 +1160,5 @@ index 7914f9b60..cdbb247da 100644 int i = 0; EnumDirection[] aenumdirection = World.a; -- -2.19.1.windows.1 +2.19.1