Помогите Вопросы по WorldGuard API

Ничего из этого не понял, короче на примере worldborder. Переходишь рамку и тебя тпхает назад, ещё отправляет игроку уведомление о том, что он достиг края мира.
Мне надо примерно также, когда игрок заходит на запрещённый регион, ему отправляется уведомление и тпхает назад.
Ловишь PlayerMoveEvent тогда и e.setTo(e.setFrom); и он телепортируется назад
Я взял куд из своего плугина, мне эта проверка нужна была :)
Так чем она лучше моей?
 
о мой бог бл**ь.
Если вызывать PlayerMoveEvent СЛИШКОМ ЧАСТО, то у тебя сервер будет лагать
Тут не в частоте дело. А в овербольшом листе регионов, который будет вайл труе при движение каждого игрока.
 
Ну если мечтаешь убить тпс, то мове ивент доя тебя. Такое лучше по таймеру проверять.
Это да.
о мой бог бл**ь.
Если вызывать PlayerMoveEvent СЛИШКОМ ЧАСТО, то у тебя сервер будет лагать
Вы все-таки очень умный.. Ивенты вызывает сервер, плагин их слушает.(Можно вроде вызвать и плагином, но не в данном случае) А лагает из за того, что при каждом движении игрока будет идти проверка на регион(Как уже сказал alexandrage). Нагрузку можно сильно убавить, если проверять это только тогда, когда игрок переходит с блока на блок, но это тоже будет сложно для сервера.
 
Это да.

Вы все-таки очень умный.. Ивенты вызывает сервер, плагин их слушает.(Можно вроде вызвать и плагином, но не в данном случае) А лагает из за того, что при каждом движении игрока будет идти проверка на регион(Как уже сказал alexandrage). Нагрузку можно сильно убавить, если проверять это только тогда, когда игрок переходит с блока на блок, но это тоже будет сложно для сервера.
Вот почему лучше шедулер раз в N секунд запускать.
 
Вот почему лучше шедулер раз в N секунд запускать.
Да) Но там нужно будет немного больше кода, ну и головой больше подумать. Просто игрок может просто пробежать регион, если таймер не успеет. Потом еще нужно куда-то его телепортировать, а локацию где-то брать нужно, но это тоже решаемо.
 
Да) Но там нужно будет немного больше кода, ну и головой больше подумать. Просто игрок может просто пробежать регион, если таймер не успеет. Потом еще нужно куда-то его телепортировать, а локацию где-то брать нужно, но это тоже решаемо.
С региона и брать локацию. И я не думаю что игрок далеко убежит за пару сек.
 
Ничего из этого не понял, короче на примере worldborder. Переходишь рамку и тебя тпхает назад, ещё отправляет игроку уведомление о том, что он достиг края мира.
Мне надо примерно также, когда игрок заходит на запрещённый регион, ему отправляется уведомление и тпхает назад.
 
Я не дам вам готовый плагин! Я дал вам проверку, парни подсказали когда лучше проверять и как тпхать назад. Теперь сами!
P.S. Если что мы подскажем.
 
Я не дам вам готовый плагин! Я дал вам проверку, парни подсказали когда лучше проверять и как тпхать назад. Теперь сами!
P.S. Если что мы подскажем.
Разделы умею читать, ща попробую сам что-нибудь написать в эклипсе.
Ребят, я создал WGapi.java
Код:
package me.serega100.expelling;

import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.ApplicableRegionSet;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import java.util.Iterator;
import java.util.List;
import org.bukkit.Location;
import org.bukkit.event.Listener;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;

import pl.invcheckrg.InvCheckRG;
public class WGapi extends JavaPlugin implements Listener
{
  private WorldGuardPlugin myWorldGuardPlugin;
  public WGapi(Plugin wg)
  {
    this.myWorldGuardPlugin = ((WorldGuardPlugin)wg);
  }
  public ProtectedRegion getRegion(Location loc)
  {
    ApplicableRegionSet set = this.myWorldGuardPlugin.getRegionManager(loc.getWorld()).getApplicableRegions(loc);
    Iterator it = set.iterator();
    while (it.hasNext())
    {
      ProtectedRegion each = (ProtectedRegion)it.next();
      if (each != null) {
        return each;
      }
    }
    return null;
  }
}
Как к нему обращаться с главного класса(mainClass.java)?
Как к нему обращаться с главного класса(mainClass.java)?
(я походу всем надоел)
 
extends JavaPlugin inplements Listener - зачем, Карл..
 
Назад
Верх