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());
}