Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите BkrTorchLightv2.6: Исправление с багом

BeYkeR

Старожил
Девелопер
Пользователь
Баллы
173
Помогите мне исправить этот баг: Бессмертные мобы. Писал на Bukkit, никто не отвечает, надеюсь тут поможете.Думаю это из-за ChunkCoordIntPair , так как без него все хорошо работает(Света нету).
Вот код:
Код:
//New Chunk Update
    public static List<Chunk> getChunks(Player p) {
 
        List<Chunk> res = new ArrayList<Chunk>();
        double x = p.getLocation().getX();
        double y = p.getLocation().getY();
        double z = p.getLocation().getZ();
        Location loc = new Location(p.getWorld(), x, y, z);
        Location posx = new Location(p.getWorld(), x + 16, y, z);
        Location negx = new Location(p.getWorld(), x - 16, y, z);
        Location posz = new Location(p.getWorld(), x, y, z + 16);
        Location negz = new Location(p.getWorld(), x, y, z - 16);
        Location diag1 = new Location(p.getWorld(), x + 16, y, z + 16);
        Location diag2 = new Location(p.getWorld(), x - 16, y, z + 16);
        Location diag3 = new Location(p.getWorld(), x + 16, y, z - 16);
        Location diag4 = new Location(p.getWorld(), x - 16, y, z - 16);
        res.add(loc.getChunk());
        res.add(posx.getChunk());
        res.add(negx.getChunk());
        res.add(posz.getChunk());
        res.add(negz.getChunk());
        res.add(diag1.getChunk());
        res.add(diag2.getChunk());
        res.add(diag3.getChunk());
        res.add(diag4.getChunk());
        return res;
    }
   
    public static void sendClientChangesStandart(Player player) {
        for (Player p : Bukkit.getOnlinePlayers()){
        List<ChunkCoordIntPair> pairs = new ArrayList<ChunkCoordIntPair>();
        for (Chunk c : getChunks(p)) {
            pairs.add(new ChunkCoordIntPair(c.getX(), c.getZ()));
        }
        EntityPlayer ep = ((CraftPlayer) p).getHandle();
queueChunks(ep,pairs);
}
        }
 
    private static void queueChunks(EntityPlayer ep, List<ChunkCoordIntPair> pairs) {
        Set<ChunkCoordIntPair> queued = new HashSet<ChunkCoordIntPair>();
        for (Object o : ep.chunkCoordIntPairQueue) {
            queued.add((ChunkCoordIntPair) o);
        }
        for (ChunkCoordIntPair pair : pairs) {
            ep.chunkCoordIntPairQueue.clear();
            if (!queued.contains(pair)) {
                ep.chunkCoordIntPairQueue.add(pair);
                }
            }
        }
   
    //Chunk Server

Дайте мне способ как решить эту проблему (Обяз. с кодом), или какой нибудь другой способ.
 

Поделиться этой страницей

Назад
Верх