Skip to content
This repository has been archived by the owner on Jun 22, 2024. It is now read-only.

Commit

Permalink
fix #3 fix #4
Browse files Browse the repository at this point in the history
  • Loading branch information
J3fftw1 committed Feb 7, 2020
1 parent e83538c commit ae10df0
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions src/main/java/dev/j3fftw/soundmuffler/SoundMufflerListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.event.Listener;
import org.bukkit.plugin.Plugin;

Expand All @@ -26,10 +27,22 @@ public void onPacketSending(PacketEvent event) {
if (event.getPacketType() == PacketType.Play.Server.NAMED_SOUND_EFFECT
|| event.getPacketType() == PacketType.Play.Server.ENTITY_SOUND
) {
int x = event.getPacket().getIntegers().read(0) >> 3;
int y = event.getPacket().getIntegers().read(1) >> 3;
int z = event.getPacket().getIntegers().read(2) >> 3;
Location loc = new Location(event.getPlayer().getWorld(), x, y, z);
Location loc;
if (event.getPacketType() == PacketType.Play.Server.NAMED_SOUND_EFFECT){
int x = event.getPacket().getIntegers().read(0) >> 3;
int y = event.getPacket().getIntegers().read(1) >> 3;
int z = event.getPacket().getIntegers().read(2) >> 3;
loc = new Location(event.getPlayer().getWorld(), x, y, z);
} else if (event.getPacketType() == PacketType.Play.Server.ENTITY_SOUND) {
loc = event.getPlayer().getWorld().getEntities().stream()
.filter(e -> e.getEntityId() == event.getPacket().getIntegers().read(0))
.map(Entity::getLocation)
.findAny().orElse(null);
} else return;

if (loc == null)
return;

final Block soundMuff = findSoundMuffler(loc);
if (soundMuff != null
&& BlockStorage.getLocationInfo(soundMuff.getLocation(), "enabled") != null
Expand Down

0 comments on commit ae10df0

Please sign in to comment.