Java源码示例:org.bukkit.event.player.PlayerResourcePackStatusEvent

示例1
@EventHandler
public void confirm(final PlayerResourcePackStatusEvent event) {
    logger.fine("Player " + event.getPlayer().getName() + " sent res pack status " + event.getStatus());
    final UserDoc.ResourcePackStatus status;
    switch(event.getStatus()) {
        case ACCEPTED: status = UserDoc.ResourcePackStatus.ACCEPTED; break;
        case DECLINED: status = UserDoc.ResourcePackStatus.DECLINED; break;
        case SUCCESSFULLY_LOADED: status = UserDoc.ResourcePackStatus.LOADED; break;
        case FAILED_DOWNLOAD: status = UserDoc.ResourcePackStatus.FAILED; break;
        default: throw new IllegalStateException("Unknown status " + event.getStatus());
    }
    userService.update(
        Users.playerId(event.getPlayer()),
        (UserDoc.ResourcePackResponse) () -> status
    );
}
 
示例2
@EventHandler
public void onResourcestatusChange(PlayerResourcePackStatusEvent event) {
	if (ResourcePackManager.getForceResourcePack()) {
		Status status = event.getStatus();
		switch (status) {
		case DECLINED:
		case FAILED_DOWNLOAD:
			final Player player = event.getPlayer();
			if (!player.hasPermission(new Permission("additionsapi.resourcepack.bypass", PermissionDefault.FALSE)))
				Bukkit.getServer().getScheduler().runTask(AdditionsAPI.getInstance(),
						() -> player.kickPlayer(LangFileUtils.get("resource_pack_kick")));
			break;
		case ACCEPTED:
		case SUCCESSFULLY_LOADED:
		default:
			break;
		}
	}
}
 
示例3
@EventHandler
public void onResourcepackStatusEvent(PlayerResourcePackStatusEvent event) {
	QAMain.sentResourcepack.remove(event.getPlayer().getUniqueId());
	if (event.getStatus() == PlayerResourcePackStatusEvent.Status.ACCEPTED
			|| event.getStatus() == PlayerResourcePackStatusEvent.Status.SUCCESSFULLY_LOADED) {
		QAMain.resourcepackReq.add(event.getPlayer().getUniqueId());
	}else if (QAMain.kickIfDeniedRequest) {
		event.getPlayer().kickPlayer(QAMain.S_KICKED_FOR_RESOURCEPACK);
	}
}
 
示例4
@EventHandler
public void onResourcepackStatus(PlayerResourcePackStatusEvent e) {
    if (getResourcepackMode() != ResourcepackMode.DEFAULT) {
        return;
    }
    if (e.getStatus() == PlayerResourcePackStatusEvent.Status.DECLINED || e.getStatus() == PlayerResourcePackStatusEvent.Status.FAILED_DOWNLOAD) {
        LangConf.Key.RESOURCEPACK_FAIL.sendMessage(e.getPlayer());
        loadingResourcepackPlayers.remove(e.getPlayer());
    } else if (e.getStatus() == PlayerResourcePackStatusEvent.Status.SUCCESSFULLY_LOADED) {
        resourcepackPlayers.add(e.getPlayer());
        if (loadingResourcepackPlayers.remove(e.getPlayer())) {
            transportPipes.changeRenderSystem(e.getPlayer(), ModelledRenderSystem.getDisplayName());
        }
    }
}
 
示例5
@SuppressWarnings({"unchecked", "null"})
@Override
public boolean init(final Expression<?>[] exprs, final int matchedPattern, final Kleenean isDelayed, final ParseResult parseResult) {
	if (!ScriptLoader.isCurrentEvent(PlayerResourcePackStatusEvent.class)) {
		Skript.error("The resource pack condition can't be used outside of a resource pack response event");
		return false;
	}
	states = (Expression<Status>) exprs[0];
	setNegated(matchedPattern == 1);
	return true;
}
 
示例6
@Override
public boolean check(final Event e) {
	if (states != null) {
		Status state = ((PlayerResourcePackStatusEvent) e).getStatus();
		return states.check(e, state::equals);
	}
	return true;
}
 
示例7
@Override
public boolean check(Event e) {
	Status state = ((PlayerResourcePackStatusEvent) e).getStatus();
	return states.check(e, state::equals, isNegated());
}