Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем BeYkeR, 6 май 2013.

  1. Автор темы
    BeYkeR

    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
    Дайте мне способ как решить эту проблему (Обяз. с кодом), или какой нибудь другой способ.
     
    Сникерсни нравится это.
  2. Хостинг MineCraft
    <

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