当前位置: 首页>>代码示例>>Java>>正文


Java VotifierEvent类代码示例

本文整理汇总了Java中com.vexsoftware.votifier.sponge.event.VotifierEvent的典型用法代码示例。如果您正苦于以下问题:Java VotifierEvent类的具体用法?Java VotifierEvent怎么用?Java VotifierEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


VotifierEvent类属于com.vexsoftware.votifier.sponge.event包,在下文中一共展示了VotifierEvent类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onVoteReceived

import com.vexsoftware.votifier.sponge.event.VotifierEvent; //导入依赖的package包/类
@Override
public void onVoteReceived(Channel channel, final Vote vote, VotifierSession.ProtocolVersion protocolVersion) throws Exception {
    if (debug) {
        if (protocolVersion == VotifierSession.ProtocolVersion.ONE) {
            logger.info("Got a protocol v1 vote record from " + channel.remoteAddress() + " -> " + vote);
        } else {
            logger.info("Got a protocol v2 vote record from " + channel.remoteAddress() + " -> " + vote);
        }
    }
    Sponge.getScheduler().createTaskBuilder()
            .execute(new Runnable() {
                @Override
                public void run() {
                    VotifierEvent event = new VotifierEvent(vote, Sponge.getCauseStackManager().getCurrentCause());
                    Sponge.getEventManager().post(event);
                }
            })
            .submit(this);
}
 
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:20,代码来源:VotifierPlugin.java

示例2: onForward

import com.vexsoftware.votifier.sponge.event.VotifierEvent; //导入依赖的package包/类
@Override
public void onForward(final Vote v) {
    if (debug) {
        logger.info("Got a forwarded vote -> " + v);
    }
    Sponge.getScheduler().createTaskBuilder()
            .execute(new Runnable() {
                @Override
                public void run() {
                    VotifierEvent event = new VotifierEvent(v, Sponge.getCauseStackManager().getCurrentCause());
                    Sponge.getEventManager().post(event);
                }
            })
            .submit(this);
}
 
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:16,代码来源:VotifierPlugin.java

示例3: onVote

import com.vexsoftware.votifier.sponge.event.VotifierEvent; //导入依赖的package包/类
@Listener
public void onVote(VotifierEvent event) {
    //Cache vote because this event is async
    List<Vote> cached = GlobalData.get(VotifierKeys.VOTES_CACHED).get();
    cached.add(event.getVote());
    GlobalData.offer(VotifierKeys.VOTES_CACHED, cached);
}
 
开发者ID:Bammerbom,项目名称:UltimateCore,代码行数:8,代码来源:VotifierListener.java

示例4: onVote

import com.vexsoftware.votifier.sponge.event.VotifierEvent; //导入依赖的package包/类
@Listener
public void onVote(VotifierEvent event) throws ExecutionException, InterruptedException
{
    final com.vexsoftware.votifier.model.Vote vote = event.getVote();
    UserStorageService uss = Sponge.getServiceManager().provideUnchecked(UserStorageService.class);
    Optional<User> user = uss.get(vote.getUsername());
    if (!user.isPresent())
    {
        if (vote.getUsername() == null || vote.getUsername().trim().isEmpty())
        {
            logger.info("{} voted but is not known to the server!", vote.getUsername());
        }
        return;
    }
    final DSLContext dsl = db.getDSL();
    db.queryOne(dsl.selectFrom(TABLE_VOTE).where(TABLE_VOTE.ID.eq(user.get().getUniqueId()))).thenAcceptAsync((voteModel) -> {
        if (voteModel != null)
        {
            if (voteModel.timePassed(config.voteBonusTime.toMillis()))
            {
                voteModel.setVotes(1);
            }
            else
            {
                voteModel.addVote();
            }
            voteModel.update();
        }
        else
        {
            voteModel = dsl.newRecord(TABLE_VOTE).newVote(user.get());
            voteModel.insert();
        }
        UniqueAccount acc = economy.getOrCreateAccount(user.get().getUniqueId()).get();
        final int voteAmount = voteModel.getVotes();
        double money = this.config.voteReward * pow(1 + 1.5 / voteAmount, voteAmount - 1);
        acc.deposit(economy.getDefaultCurrency(), new BigDecimal(money), Cause.of(EventContext.empty(), event.getVote()));
        Text moneyFormat = economy.getDefaultCurrency().format(new BigDecimal(money));
        bc.broadcastMessage(NONE, ChatFormat.parseFormats(this.config.voteBroadcast)
                .replace("{PLAYER}", vote.getUsername())
                .replace("{MONEY}", moneyFormat.toPlain()).replace("{AMOUNT}", String.valueOf(voteAmount))
                .replace("{VOTEURL}", this.config.voteUrl));
        user.get().getPlayer().ifPresent(p -> p.sendMessage(Text.of(ChatFormat.parseFormats(this.config.voteMessage
                                                     .replace("{PLAYER}", vote.getUsername())
                                                     .replace("{MONEY}", moneyFormat.toPlain())
                                                     .replace("{AMOUNT}", String.valueOf(voteAmount))
                                                     .replace("{VOTEURL}", this.config.voteUrl)))));
    });
}
 
开发者ID:CubeEngine,项目名称:modules-extra,代码行数:50,代码来源:Vote.java


注:本文中的com.vexsoftware.votifier.sponge.event.VotifierEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。