类org.bukkit.event.entity.EntityTameEvent源码实例Demo

下面列出了怎么用org.bukkit.event.entity.EntityTameEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Quests   文件: TamingTaskType.java
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onTame(EntityTameEvent event) {
    if (!(event.getOwner() instanceof Player)) {
        return;
    }

    Player player = (Player) event.getOwner();

    QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId(), true);
    QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile();

    for (Quest quest : super.getRegisteredQuests()) {
        if (questProgressFile.hasStartedQuest(quest)) {
            QuestProgress questProgress = questProgressFile.getQuestProgress(quest);

            for (Task task : quest.getTasksOfType(super.getType())) {
                TaskProgress taskProgress = questProgress.getTaskProgress(task.getId());

                if (taskProgress.isCompleted()) {
                    continue;
                }

                int tamesNeeded = (int) task.getConfigValue("amount");

                int progressTamed;
                if (taskProgress.getProgress() == null) {
                    progressTamed = 0;
                } else {
                    progressTamed = (int) taskProgress.getProgress();
                }

                taskProgress.setProgress(progressTamed + 1);

                if (((int) taskProgress.getProgress()) >= tamesNeeded) {
                    taskProgress.setCompleted(true);
                }
            }
        }
    }
}
 
源代码2 项目: StackMob-3   文件: TameEvent.java
@EventHandler
public void onTame(EntityTameEvent event) {
    Entity entity = event.getEntity();
    if(StackTools.hasValidStackData(entity)){
        int stackSize = StackTools.getSize(entity);
        if(stackSize > 1){
            Entity dupe = sm.getTools().duplicate(entity);
            StackTools.setSize(dupe, stackSize - 1);
        }
        StackTools.removeSize(entity);
    }
}
 
源代码3 项目: Skript   文件: ExprTamer.java
@Override
public boolean init(final Expression<?>[] exprs, final int matchedPattern, final Kleenean isDelayed, final ParseResult parser) {
	if (!ScriptLoader.isCurrentEvent(EntityTameEvent.class)) {
		Skript.error("the expression 'tamer' may only be used in the entity tame event.");
		return false;
	}
	return true;
}
 
源代码4 项目: BetonQuest   文件: TameObjective.java
@EventHandler(ignoreCancelled = true)
public void onTaming(EntityTameEvent event) {
    if (event.getOwner() instanceof Player) {
        String playerID = PlayerConverter.getID((Player) event.getOwner());
        if (!dataMap.containsKey(playerID)) {
            return;
        }
        LivingEntity entity = event.getEntity();
        TameData playerData = (TameData) dataMap.get(playerID);
        switch (type) {
            case WOLF:
                if (entity.getType().equals(EntityType.WOLF) && checkConditions(playerID)) {
                    playerData.subtract();
                }
                break;
            case OCELOT:
                if (entity.getType().equals(EntityType.OCELOT) && checkConditions(playerID)) {
                    playerData.subtract();
                }
                break;
            case HORSE:
                if (entity.getType().equals(EntityType.HORSE) && checkConditions(playerID)) {
                    playerData.subtract();
                }
                break;
            default:
                break;
        }
        if (playerData.isZero()) {
            completeObjective(playerID);
        }
    }
}
 
源代码5 项目: Skript   文件: ExprTamer.java
@Override
protected Player[] get(final Event e) {
	return new Player[] {((EntityTameEvent) e).getOwner() instanceof Player ? (Player) ((EntityTameEvent) e).getOwner() : null};
}
 
 类所在包
 类方法
 同包方法