• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Objective类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



Objective类属于org.spongepowered.api.scoreboard.objective包,在下文中一共展示了Objective类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: setScore

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public void setScore(int score) {
    if (this.score == score) {
        return;
    }
    this.score = score;
    final Multimap<Scoreboard, Objective> scoreboards = HashMultimap.create();
    for (Objective objective : this.objectives) {
        for (Scoreboard scoreboard : ((LanternObjective) objective).scoreboards) {
            scoreboards.put(scoreboard, objective);
        }
    }
    if (!scoreboards.isEmpty()) {
        final Map<Objective, Message> messages = new HashMap<>();
        for (Map.Entry<Scoreboard, Objective> entry : scoreboards.entries()) {
            ((LanternScoreboard) entry.getKey()).sendToPlayers(() -> Collections.singletonList(
                    messages.computeIfAbsent(entry.getValue(), obj -> new MessagePlayOutScoreboardScore.CreateOrUpdate(
                            obj.getName(), this.legacyName, score))));
        }
    }
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:22,代码来源:LanternScore.java


示例2: updateDisplaySlot

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public void updateDisplaySlot(@Nullable Objective objective, DisplaySlot displaySlot) throws IllegalStateException {
    checkNotNull(displaySlot, "displaySlot");
    if (objective == null) {
        final Objective oldObjective = this.objectivesInSlot.remove(displaySlot);
        if (oldObjective != null) {
            // Clear the display slot on the client
            this.sendToPlayers(() -> Collections.singletonList(
                    new MessagePlayOutScoreboardDisplayObjective(null, displaySlot)));
        }
    } else {
        checkState(this.objectives.containsValue(objective),
                "The specified objective does not exist in this scoreboard.");
        if (this.objectivesInSlot.put(displaySlot, objective) != objective) {
            // Update the displayed objective on the client
            this.sendToPlayers(() -> Collections.singletonList(
                    new MessagePlayOutScoreboardDisplayObjective(objective.getName(), displaySlot)));
        }
    }
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:21,代码来源:LanternScoreboard.java


示例3: onGameStarted

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Listener
//Scoreboards are loaded when the world is loaded so load it here
public void onGameStarted(GameStartedServerEvent gameStartedServerEvent) {
    Optional<Scoreboard> serverScoreboard = Sponge.getServer().getServerScoreboard();
    if (serverScoreboard.isPresent()) {
        Scoreboard globalScoreboard = serverScoreboard.get();
        if (configuration.getConfig().isNametagHealth()) {
            globalScoreboard.getObjective(PomData.ARTIFACT_ID).ifPresent(globalScoreboard::removeObjective);

            Objective objective = Objective.builder()
                    .name(PomData.ARTIFACT_ID)
                    .displayName(Text.of(TextColors.DARK_RED, "Health"))
                    .criterion(Criteria.DUMMY)
                    .objectiveDisplayMode(ObjectiveDisplayModes.INTEGER)
                    .build();
            globalScoreboard.addObjective(objective);
            globalScoreboard.updateDisplaySlot(objective, DisplaySlots.BELOW_NAME);
        }
    } else {
        logger.warn("Global scoreboard couldn't be loaded");
    }
}
 
开发者ID:games647,项目名称:HealthName,代码行数:23,代码来源:HealthName.java


示例4: registerNewObjective

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public org.bukkit.scoreboard.Objective registerNewObjective(String name, String criteria)
        throws IllegalArgumentException {
    checkArgument(name != null, "Name must not be null");
    Objective.Builder builder = Objective.builder();
    //noinspection ConstantConditions
    builder.name(name);
    if (criteria != null) {
        //TODO: no idea whether this is right
        Optional<Criterion> criterion = Pore.getGame().getRegistry().getType(Criterion.class, criteria);
        if (criterion.isPresent()) {
            builder.criterion(criterion.get());
        }
    }
    return PoreObjective.of(builder.build());
}
 
开发者ID:LapisBlue,项目名称:Pore,代码行数:17,代码来源:PoreScoreboard.java


示例5: swapBuffers

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
private void swapBuffers() {
    this.scoreboard.updateDisplaySlot(this.buffer, DisplaySlots.SIDEBAR);

    Objective temp = this.buffer;

    this.buffer = this.objective;
    this.objective = temp;
}
 
开发者ID:MinusKube,项目名称:Netherboard,代码行数:9,代码来源:SPlayerBoard.java


示例6: addObjective

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public boolean addObjective(EPlayer player, int priority, DisplaySlot display, Objective objective) {
	Optional<Objective> objective_player = player.getScoreboard().getObjective(display);
	if (!objective_player.isPresent() || getPriority(display, objective_player.get()) <= priority) {
		// Supprime l'ancien
		if (objective_player.isPresent()) {
			player.getScoreboard().removeObjective(objective_player.get());
		}
		
		// Ajoute le nouveau
		if (!player.getScoreboard().getObjective(objective.getName()).isPresent()) {
			player.getScoreboard().addObjective(objective);
			player.getScoreboard().updateDisplaySlot(objective, display);
			
			// Event
			if (objective_player.isPresent()) {
				this.postReplace(player, objective_player.get(), objective, display);
			} else {
				this.postAdd(player, objective, display);
			}
			
			return true;
		} else {
			this.plugin.getELogger().warn("Multi-Objective (player='" + player.getIdentifier() + "';objective='" + objective.getName() + "')");
		}
	}
	return false;
}
 
开发者ID:EverCraft,项目名称:EverAPI,代码行数:29,代码来源:EScoreBoardService.java


示例7: removeObjective

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public boolean removeObjective(EPlayer player, DisplaySlot display, String identifier) {
	Optional<Objective> objective = player.getScoreboard().getObjective(display);
	if (objective.isPresent() && objective.get().getName().equals(identifier)) {
		player.getScoreboard().removeObjective(objective.get());
		
		// Event 
		this.postRemove(player, objective.get(), display);
		return true;
	}
	return false;
}
 
开发者ID:EverCraft,项目名称:EverAPI,代码行数:13,代码来源:EScoreBoardService.java


示例8: postAdd

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
private void postAdd(EPlayer player, Objective objective, DisplaySlot display) {
	this.plugin.getELogger().debug("Event ScoreBoardEvent.Add : ("
			+ "uuid='" + player.getUniqueId() + "';"
			+ "objective='" + objective.getName() + "';"
			+ "display='" + display.getName() + "')");
	this.plugin.getGame().getEventManager().post(ESpongeEventFactory.createScoreBoardEventAdd(player, objective, display, Cause.source(this.plugin).build()));
}
 
开发者ID:EverCraft,项目名称:EverAPI,代码行数:8,代码来源:EScoreBoardService.java


示例9: postRemove

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
private void postRemove(EPlayer player, Objective objective, DisplaySlot display) {
	this.plugin.getELogger().debug("Event ScoreBoardEvent.Remove : ("
			+ "uuid='" + player.getUniqueId() + "';"
			+ "objective='" + objective.getName() + "';"
			+ "display='" + display.getName() + "')");
	this.plugin.getGame().getEventManager().post(ESpongeEventFactory.createScoreBoardEventRemove(player, objective, display, Cause.source(this.plugin).build()));
}
 
开发者ID:EverCraft,项目名称:EverAPI,代码行数:8,代码来源:EScoreBoardService.java


示例10: postReplace

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
private void postReplace(EPlayer player, Objective objective, Objective new_objective, DisplaySlot display) {
	this.plugin.getELogger().debug("Event ScoreBoardEvent.Replace : ("
			+ "uuid='" + player.getUniqueId() + "';"
			+ "objective='" + objective.getName() + "';"
			+ "new_objective='" + new_objective.getName() + "';"
			+ "display='" + display.getName() + "')");
	this.plugin.getGame().getEventManager().post(ESpongeEventFactory.createScoreBoardEventReplace(player, objective, new_objective, display, Cause.source(this.plugin).build()));
}
 
开发者ID:EverCraft,项目名称:EverAPI,代码行数:9,代码来源:EScoreBoardService.java


示例11: ScoreBoardEvent

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
public ScoreBoardEvent(EPlayer player, Action action, Objective objective, String identifier,
		DisplaySlot displaySlot, Cause cause) {
	super();
	this.player = player;
	this.action = action;
	this.objective = objective;
	this.identifier = identifier;
	this.displaySlot = displaySlot;
	this.cause = cause;
}
 
开发者ID:EverCraft,项目名称:EverAPI,代码行数:11,代码来源:ScoreBoardEvent.java


示例12: addToObjective

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
private static Score addToObjective(Objective objective, @Nullable Score score, Text name, int value) {
    if (score == null) {
        score = objective.getOrCreateScore(name);
        score.setScore(value);
    } else {
        objective.addScore(score);
    }
    return score;
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:10,代码来源:ScoreboardIO.java


示例13: deserialize

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public ScoreText deserialize(JsonElement element, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
    final JsonObject obj = element.getAsJsonObject();
    final Text name = LanternTexts.fromLegacy(obj.get(SCORE_NAME).getAsString());
    // Try to parse the value
    int value = 0;
    try {
        value = Integer.parseInt(obj.get(SCORE_VALUE).getAsString());
    } catch (NumberFormatException ignored) {
    }
    final String baseObjective = obj.get(SCORE_MAIN_OBJECTIVE).getAsString();
    final Set<Objective> objectives = new HashSet<>();
    if (!baseObjective.isEmpty()) {
        this.tryAddObjective(baseObjective, objectives);
    }
    if ((element = obj.get(SCORE_EXTRA_OBJECTIVES)) != null) {
        final JsonArray array = element.getAsJsonArray();
        for (JsonElement jsonElement : array) {
            this.tryAddObjective(jsonElement.getAsString(), objectives);
        }
    }
    String override = null;
    if ((element = obj.get(SCORE_OVERRIDE)) != null) {
        override = element.getAsString();
    }

    final Score score = new LanternScore(name);
    // TODO: How to handle the objectives?
    // We cannot add them to the score without attaching the
    // score to the objective
    score.setScore(value);

    final ScoreText.Builder builder = Text.builder(score).override(override);
    deserialize(obj, builder, context);
    return builder.build();
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:37,代码来源:JsonTextScoreSerializer.java


示例14: from

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public LanternObjectiveBuilder from(Objective value) {
    this.name(value.getName())
            .criterion(value.getCriterion())
            .displayName(value.getDisplayName())
            .objectiveDisplayMode(value.getDisplayMode());
    return this;
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:9,代码来源:LanternObjectiveBuilder.java


示例15: build

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public Objective build() throws IllegalStateException {
    checkState(this.name != null, "name is not set");
    checkState(this.displayName != null, "displayName is not set");
    checkState(this.criterion != null, "criterion is not set");
    return new LanternObjective(this.name, this.criterion, this.objectiveDisplayMode, this.displayName);
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:8,代码来源:LanternObjectiveBuilder.java


示例16: updateClientAfterRemove

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
private void updateClientAfterRemove(Score score) {
    final Map<Objective, Message> messages = new HashMap<>();
    for (Scoreboard scoreboard : this.scoreboards) {
        ((LanternScoreboard) scoreboard).sendToPlayers(() -> Collections.singletonList(
                messages.computeIfAbsent(this, obj -> new MessagePlayOutScoreboardScore.Remove(
                        this.getName(), ((LanternScore) score).getLegacyName()))));
    }
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:9,代码来源:LanternObjective.java


示例17: removePlayer

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
public void removePlayer(LanternPlayer player) {
    this.players.remove(player);
    for (Objective objective : this.objectives.values()) {
        player.getConnection().send(new MessagePlayOutScoreboardObjective.Remove(objective.getName()));
    }
    for (Team team : this.teams.values()) {
        player.getConnection().send(new MessagePlayOutTeams.Remove(team.getName()));
    }
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:10,代码来源:LanternScoreboard.java


示例18: addPlayer

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
public void addPlayer(LanternPlayer player) {
    this.players.add(player);
    for (Objective objective : this.objectives.values()) {
        player.getConnection().send(this.createObjectiveInitMessages(objective));
    }
    for (Map.Entry<DisplaySlot, Objective> entry : this.objectivesInSlot.entrySet()) {
        player.getConnection().send(new MessagePlayOutScoreboardDisplayObjective(entry.getValue().getName(), entry.getKey()));
    }
    for (Team team : this.teams.values()) {
        player.getConnection().send(((LanternTeam) team).toCreateOrUpdateMessage(true));
    }
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:13,代码来源:LanternScoreboard.java


示例19: addObjective

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
@Override
public void addObjective(Objective objective) throws IllegalArgumentException {
    checkNotNull(objective, "objective");
    checkArgument(!this.objectives.containsKey(objective.getName()), "A score with the name %s already exists!",
            objective.getName());
    this.objectives.put(objective.getName(), objective);
    this.objectivesByCriterion.put(objective.getCriterion(), objective);
    ((LanternObjective) objective).addScoreboard(this);
    // Create the scoreboard objective on the client
    this.sendToPlayers(() -> this.createObjectiveInitMessages(objective));
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:12,代码来源:LanternScoreboard.java


示例20: createObjectiveInitMessages

import org.spongepowered.api.scoreboard.objective.Objective; //导入依赖的package包/类
private List<Message> createObjectiveInitMessages(Objective objective) {
    final List<Message> messages = new ArrayList<>();
    messages.add(new MessagePlayOutScoreboardObjective.Create(
            objective.getName(), ((LanternObjective) objective).getLegacyDisplayName(), objective.getDisplayMode()));
    for (Score score : ((LanternObjective) objective).scores.values()) {
        messages.add(new MessagePlayOutScoreboardScore.CreateOrUpdate(objective.getName(),
                LanternTexts.toLegacy(score.getName()), score.getScore()));
    }
    return messages;
}
 
开发者ID:LanternPowered,项目名称:LanternServer,代码行数:11,代码来源:LanternScoreboard.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MediaWikiParser类代码示例发布时间:2022-05-22
下一篇:
Java VictimsDB类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap