本文整理汇总了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);
}
示例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);
}
示例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);
}
示例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)))));
});
}