想问问那些领地插件是怎么实现监听玩家移动的位置的。
是所有在线玩家每走一步都会被监听器听见吗? 比如
有个@Eventhandler
然后下面定义变量是(PlayerMoveEvent event)
// 每一个玩家移动的事件都传过
那这么多判断在一起不是会很占用服务器内存么。。 如果不是的话,又应该怎么做呢?
谢谢。
噢还有个问题, 玩家领地的坐标是不是要存在别的什么地方啊。。。。 谢谢
是所有在线玩家每走一步都会被监听器听见吗? 比如
有个@Eventhandler
然后下面定义变量是(PlayerMoveEvent event)
// 每一个玩家移动的事件都传过
那这么多判断在一起不是会很占用服务器内存么。。 如果不是的话,又应该怎么做呢?
谢谢。
噢还有个问题, 玩家领地的坐标是不是要存在别的什么地方啊。。。。 谢谢
孩子,想想就好了,别想太多{:10_512:}
Bukkit确实有PlayerMoveEvent
res是怎么做到的就不知道了
res有源码,你去看看吧
res是怎么做到的就不知道了
res有源码,你去看看吧
谢谢,找到源码,已经解决了。
residence怎么做到的?
推测代码如下复制代码
Thread Closed
推测代码如下
- @EventHandler
- public void onPlayerMoveEvent(PlayerMoveEvent e)
- {
- class ResidencePlayerMoveEvent extends Event
- {
- private final HandlerList handlers = new HandlerList();
- private final Player player;
- private final Location from;
- private final Location to;
-
- ResidencePlayerMoveEvent(Player player,Location from,Location to)
- {
- this.player = player;
- this.from = from;
- this.to = to;
- }
-
- public Player getPlayer()
- {
- return this.player;
- }
-
- public Location getFrom()
- {
- return this.from;
- }
-
- public Location getTo()
- {
- return this.to;
- }
- @Override
- public HandlerList getHandlers()
- {
- return this.handlers;
- }
- }
-
- ResidencePlayerMoveEvent event = new ResidencePlayerMoveEvent(e.getPlayer(),e.getFrom(),e.getTo());
- Bukkit.getServer().getPluginManager().callEvent(event);
-
- //do whatever you want
- }
Thread Closed
他肯定先判断一下 有无必要进行下面的代码,而这个判断根本不占用多少内存