minecode
                想问问那些领地插件是怎么实现监听玩家移动的位置的。
                是所有在线玩家每走一步都会被监听器听见吗? 比如
                有个@Eventhandler
                然后下面定义变量是(PlayerMoveEvent event)
               // 每一个玩家移动的事件都传过

                那这么多判断在一起不是会很占用服务器内存么。。   如果不是的话,又应该怎么做呢?
                谢谢。



                   噢还有个问题, 玩家领地的坐标是不是要存在别的什么地方啊。。。。  谢谢


赵大腿
孩子,想想就好了,别想太多{:10_512:}

ylmars
Bukkit确实有PlayerMoveEvent

res是怎么做到的就不知道了

res有源码,你去看看吧

minecode
谢谢,找到源码,已经解决了。

HotFlow
residence怎么做到的?
推测代码如下
  1. @EventHandler
  2. public void onPlayerMoveEvent(PlayerMoveEvent e)
  3. {
  4.     class ResidencePlayerMoveEvent extends Event
  5.     {
  6.         private final HandlerList handlers = new HandlerList();
  7.         private final Player player;
  8.         private final Location from;
  9.         private final Location to;
  10.         
  11.         ResidencePlayerMoveEvent(Player player,Location from,Location to)
  12.         {
  13.             this.player = player;
  14.             this.from = from;
  15.             this.to = to;
  16.         }
  17.         
  18.         public Player getPlayer()
  19.         {
  20.             return this.player;
  21.         }
  22.         
  23.         public Location getFrom()
  24.         {
  25.             return this.from;
  26.         }
  27.         
  28.         public Location getTo()
  29.         {
  30.             return this.to;
  31.         }

  32.         @Override
  33.         public HandlerList getHandlers()
  34.         {
  35.             return this.handlers;
  36.         }
  37.     }
  38.    
  39.     ResidencePlayerMoveEvent event = new ResidencePlayerMoveEvent(e.getPlayer(),e.getFrom(),e.getTo());
  40.     Bukkit.getServer().getPluginManager().callEvent(event);
  41.    
  42.     //do whatever you want
  43. }
复制代码


Thread Closed

我才是小灰灰
他肯定先判断一下 有无必要进行下面的代码,而这个判断根本不占用多少内存

第一页 上一页 下一页 最后一页