Attempt to fix server crash
This commit is contained in:
		@@ -12,16 +12,19 @@ import me.libraryaddict.disguise.LibsDisguises;
 | 
			
		||||
import me.libraryaddict.disguise.disguisetypes.Disguise;
 | 
			
		||||
import me.libraryaddict.disguise.disguisetypes.DisguiseType;
 | 
			
		||||
import me.libraryaddict.disguise.disguisetypes.MobDisguise;
 | 
			
		||||
import me.libraryaddict.disguise.disguisetypes.TargetedDisguise;
 | 
			
		||||
import me.libraryaddict.disguise.utilities.DisguiseSound;
 | 
			
		||||
import me.libraryaddict.disguise.utilities.DisguiseSound.SoundType;
 | 
			
		||||
import me.libraryaddict.disguise.utilities.DisguiseUtilities;
 | 
			
		||||
import me.libraryaddict.disguise.utilities.reflection.ReflectionManager;
 | 
			
		||||
import org.bukkit.Chunk;
 | 
			
		||||
import org.bukkit.Location;
 | 
			
		||||
import org.bukkit.Sound;
 | 
			
		||||
import org.bukkit.block.Block;
 | 
			
		||||
import org.bukkit.entity.*;
 | 
			
		||||
 | 
			
		||||
import java.lang.reflect.InvocationTargetException;
 | 
			
		||||
import java.util.HashSet;
 | 
			
		||||
 | 
			
		||||
public class PacketListenerSounds extends PacketAdapter {
 | 
			
		||||
    /**
 | 
			
		||||
@@ -59,27 +62,27 @@ public class PacketListenerSounds extends PacketAdapter {
 | 
			
		||||
        if (event.getPacketType() == Server.NAMED_SOUND_EFFECT) {
 | 
			
		||||
            SoundType soundType = null;
 | 
			
		||||
 | 
			
		||||
            int[] soundCords = new int[]{(Integer) mods.read(2), (Integer) mods.read(3), (Integer) mods.read(4)};
 | 
			
		||||
 | 
			
		||||
            int chunkX = (int) Math.floor((soundCords[0] / 8D) / 16D);
 | 
			
		||||
            int chunkZ = (int) Math.floor((soundCords[2] / 8D) / 16D);
 | 
			
		||||
 | 
			
		||||
            if (!observer.getWorld().isChunkLoaded(chunkX, chunkZ)) {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            Entity disguisedEntity = null;
 | 
			
		||||
            DisguiseSound entitySound = null;
 | 
			
		||||
            Object soundEffectObj = mods.read(0);
 | 
			
		||||
 | 
			
		||||
            Disguise disguise = null;
 | 
			
		||||
 | 
			
		||||
            Object soundEffectObj = mods.read(0);
 | 
			
		||||
            Entity[] entities = observer.getWorld().getChunkAt(chunkX, chunkZ).getEntities();
 | 
			
		||||
            int[] soundCords = new int[]{(Integer) mods.read(2), (Integer) mods.read(3), (Integer) mods.read(4)};
 | 
			
		||||
 | 
			
		||||
            for (Entity entity : entities) {
 | 
			
		||||
                Disguise entityDisguise = DisguiseAPI.getDisguise(observer, entity);
 | 
			
		||||
            loop:
 | 
			
		||||
            for (HashSet<TargetedDisguise> disguises : DisguiseUtilities.getDisguises().values()) {
 | 
			
		||||
                for (TargetedDisguise entityDisguise : disguises) {
 | 
			
		||||
                    Entity entity = entityDisguise.getEntity();
 | 
			
		||||
 | 
			
		||||
                    if (entity.getWorld() != observer.getWorld()) {
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    if (!entityDisguise.canSee(observer)) {
 | 
			
		||||
                        continue;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                if (entityDisguise != null) {
 | 
			
		||||
                    Location loc = entity.getLocation();
 | 
			
		||||
 | 
			
		||||
                    int[] entCords = new int[]{(int) (loc.getX() * 8), (int) (loc.getY() * 8), (int) (loc.getZ() * 8)};
 | 
			
		||||
@@ -139,7 +142,7 @@ public class PacketListenerSounds extends PacketAdapter {
 | 
			
		||||
                    if (soundType != null) {
 | 
			
		||||
                        disguise = entityDisguise;
 | 
			
		||||
                        disguisedEntity = entity;
 | 
			
		||||
                        break;
 | 
			
		||||
                        break loop;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user