自制事件.....好像有什么不对..............
复制代码这里面有问题么{:10_516:}
-
- package seesaw.chestgui;
- // ---------- [自制实体移动事件] ----------
- // 引用的封装类:org.bukkit.event.entity: EntityEvent
- // 用于监听实体移动事件
- // 作者:seesaw
- // 制作时间:2015-10-10
- //----------------------------------------------------------------------------//
- import org.bukkit.Location;
- import org.bukkit.entity.Entity;
- import org.bukkit.event.Cancellable;
- import org.bukkit.event.HandlerList;
- import org.bukkit.event.entity.EntityEvent;
- //----------------------------------------------------------------------------//
- /**
- * 实体移动事件(custom)
- * @author seesaw
- */
- public class EntityMoveEvent extends EntityEvent implements Cancellable
- {
- //----------------------------------------------------------------------------//
- private static final HandlerList handlers = new HandlerList();
- private boolean cancel;
- private Location from;
- private Location to;
- //----------------------------------------------------------------------------//
- /**
- * 本类的构造函数
- * @param e
- * @param from
- * @param to
- */
- public EntityMoveEvent(Entity e, Location from, Location to)
- {
- super(e);
- cancel = false;
- this.from = from;
- this.to = to;
- }
- //----------------------------------------------------------------------------//
- /**
- *
- * @return
- */
- @Override
- public boolean isCancelled()
- {
- return cancel;
- }
- //----------------------------------------------------------------------------//
- /**
- * 设置是否取消该事件(布尔值)
- * @param cancel
- */
- @Override
- public void setCancelled(boolean cancel)
- {
- this.cancel = cancel;
- }
- //----------------------------------------------------------------------------//
- /**
- * 获取该实体移动前的位置
- * @return
- */
- public Location getFrom()
- {
- return from;
- }
- //----------------------------------------------------------------------------//
- /**
- * 设置该实体移动前的位置
- * @param from
- */
- public void setFrom(Location from)
- {
- this.from = from;
- }
- //----------------------------------------------------------------------------//
- /**
- * 获取该实体将移动到的新位置
- * @return
- */
- public Location getTo()
- {
- return to;
- }
- //----------------------------------------------------------------------------//
- /**
- * 设置该实体将移动到的新位置
- * @param to
- */
- public void setTo(Location to)
- {
- this.to = to;
- }
- //----------------------------------------------------------------------------//
- /**
- * 未知用法
- * @return
- */
- @Override
- public HandlerList getHandlers()
- {
- return handlers;
- }
- //----------------------------------------------------------------------------//
- /**
- * 未知用法
- * @return
- */
- public static HandlerList getHandlerList()
- {
- return handlers;
- }
- //----------------------------------------------------------------------------//
- }
语法没问题呀?为什么你觉得有问题
andylizi 发表于 2015-10-12 12:33
语法没问题呀?为什么你觉得有问题
怎么用 EntityMoveEvent event = new EntityMoveEvent(); 实例化它?
{:10_498:}
seesaw_233 发表于 2015-10-12 17:28
怎么用 EntityMoveEvent event = new EntityMoveEvent(); 实例化它?
...你真的学过java吗?实例化需要参数啊。。。
andylizi 发表于 2015-10-12 17:53
...你真的学过java吗?实例化需要参数啊。。。
没学好,参数是哪个? {:10_503:}
seesaw_233 发表于 2015-10-13 10:07
没学好,参数是哪个?
你自己设定的参数你自己不知道?!
- /**
- * 本类的构造函数
- * @param e
- * @param from
- * @param to
- */
- public EntityMoveEvent(Entity e, Location from, Location to){}
参数不是都在里面吗!
- EntityMoveEvent event = new EntityMoveEvent(实体Entity,坐标Location,坐标Location);
andylizi 发表于 2015-10-13 12:31
你自己设定的参数你自己不知道?!
参数不是都在里面吗!
哦,看教程看晕了......话说这事件能用么? {:10_503:}
andylizi 发表于 2015-10-13 12:31
你自己设定的参数你自己不知道?!
参数不是都在里面吗!
是这样吗?
- EntityMoveEvent event = new EntityMoveEvent(e,from,to);
话说 你new一个MoveEvent的话有何用。。感觉你没懂自己在做什么
I_am_fudge 发表于 2015-10-13 20:13
话说 你new一个MoveEvent的话有何用。。感觉你没懂自己在做什么
那我该怎么做?
{:10_522:}恩。。好深奧,何不先用你的監聽器隨便做一個觸發的效果比如發送消息之類的作為測試能不能用
baibai 发表于 2015-10-13 20:36
恩。。好深奧,何不先用你的監聽器隨便做一個觸發的效果比如發送消息之類的作為測試能不能用 ...
但是先要callEvent才有用,callEvent之前需要实例化,但我却不知道怎么搞……
{:10_503:}
seesaw_233 发表于 2015-10-13 21:07
但是先要callEvent才有用,callEvent之前需要实例化,但我却不知道怎么搞……
一只Event不一定先实例化也能用,监听器啊。监听器
seesaw_233 发表于 2015-10-13 21:07
但是先要callEvent才有用,callEvent之前需要实例化,但我却不知道怎么搞……
{:10_522:}。。。MCBBS上不是有個教程就有關於自定義監聽器么,沒有的話也可以去官網看的吧。。
I_am_fudge 发表于 2015-10-13 22:40
一只Event不一定先实例化也能用,监听器啊。监听器
那是自制事件啊
- public void onEntityMove(EntityMoveEvent event)
- {
-
- Entity tge = event.getEntity();
- if (tge instanceof Player) { return; }
-
- event.setCancelled(true);
-
- }
baibai 发表于 2015-10-13 23:51
。。。MCBBS上不是有個教程就有關於自定義監聽器么,沒有的話也可以去官網看的吧。。 ...
看过了,不懂, 倒霉+忍者 的教程我照搬下来结果报错
找不到变量block ,位于ChestGUI (我的主类)中