本文整理汇总了Java中in.twizmwaz.cardinal.match.Match类的典型用法代码示例。如果您正苦于以下问题:Java Match类的具体用法?Java Match怎么用?Java Match使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Match类属于in.twizmwaz.cardinal.match包,在下文中一共展示了Match类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: join
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Join the game.
*
* @param cmd The context of this command.
* @param team The team to join, if specified.
*/
@Command(aliases = "join", description = "Join the game")
@PlayerCommand
public static void join(CommandContext cmd, @Optional Team team) {
Player player = (Player) cmd.getSender();
MatchThread thread = Cardinal.getMatchThread(player);
Match match = thread.getCurrentMatch();
CompetitorContainer playing = team;
if (!match.isFfa()) {
if (playing == null) {
playing = Team.getEmptiestTeam(Team.getTeams(Cardinal.getMatch(player)));
}
} else {
playing = SinglePlayerContainer.of(player);
}
PlayerContainerData newData = new PlayerContainerData(thread, match, playing);
PlayerContainerData oldData = PlayerContainerData.of(player);
Containers.handleStateChangeEvent(player, oldData, newData);
}
示例2: ScoreboardDisplay
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
ScoreboardDisplay(Match match, CompetitorContainer viewer) {
this.match = match;
this.viewer = viewer;
scoreboard = Bukkit.getScoreboardManager().getNewScoreboard();
//TODO: proper scoreboard name
objective = scoreboard.registerNewObjective(ChatColor.AQUA + "Objectives", "dummy");
objective.setDisplaySlot(DisplaySlot.SIDEBAR);
ScoreModule scoreModule = Cardinal.getModule(ScoreModule.class);
if (scoreModule.hasScoring(match)) {
scoreModule.getScores(match).forEach(score -> this.score.getEntries().add(new ScoreScoreboardEntry(this, score)));
score.getEntries().add(new EmptyScoreboardEntry(this));
}
for (Team team : Team.getTeams(match)) {
ScoreboardGroup group = new ScoreboardGroup();
if (Team.getTeamShownObjectives(match, team).size() > 0) {
group.getEntries().add(new TeamName(this, team));
Team.getTeamShownObjectives(match, team).forEach(
obj -> group.getEntries().add(getEntryForObjective(obj, team)));
group.getEntries().add(new EmptyScoreboardEntry(this));
}
teams.put(team, group);
}
defaultEntry = new EmptyScoreboardEntry(this);
updatePlayerContainers();
}
示例3: loadMatch
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
@Override
public boolean loadMatch(@NonNull Match match) {
for (Element score : match.getMap().getDocument().getRootElement().getChildren("score")) {
int limit = Numbers.parseInteger(ParseUtil.getFirstAttribute("limit", score), -1);
int kill = Numbers.parseInteger(ParseUtil.getFirstAttribute("kills", score), 0);
int death = Numbers.parseInteger(ParseUtil.getFirstAttribute("deaths", score), 0);
if (!rules.containsKey(match)) {
rules.put(match, new ScoreRule(true, limit, kill, death));
} else {
errors.add(new ModuleError(this, match.getMap(), new String[]{"Multiple scores found for this map"}, false));
}
}
if (!rules.containsKey(match)) {
rules.put(match, new ScoreRule(false, -1, 0, 0));
}
scores.put(match, Lists.newArrayList());
Team.getTeams(match).forEach(team -> addScoreModule(match, team));
return true;
}
示例4: loadMatch
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
@Override
public boolean loadMatch(@NonNull Match match) {
Document document = match.getMap().getDocument();
boolean defaultPresent = false;
for (Element spawnsElement : document.getRootElement().getChildren("spawns")) {
for (Element spawnElement : spawnsElement.getChildren("spawn")) {
Spawn spawn = parseSpawn(match, spawnElement, spawnsElement);
if (spawn != null) {
IdModule.get().add(match, null, spawn, true);
if (spawn.isDefaultSpawn()) {
defaultPresent = true;
}
}
}
}
if (!defaultPresent) {
errors.add(new ModuleError(this, match.getMap(), new String[]{"No valid default spawn"}, true));
return false;
}
StringBuilder builder = new StringBuilder().append("Spawns loaded : ")
.append(IdModule.get().getList(match, Spawn.class).size());
errors.add(new ModuleError(this, match.getMap(), new String[]{builder.toString()}, false));
return true;
}
示例5: onBlockUse
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Filters PlayerInteractEvent (right clicking blocks or triggering pressure plates).
*
* <p>Applies to: use<p/>
*/
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBlockUse(PlayerInteractEvent event) {
if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
Match match = Cardinal.getMatch(event.getPlayer());
if (match == null || !match.hasPlayer(event.getPlayer())) {
return;
}
for (AppliedRegion reg : get(match, ApplyType.USE)) {
Block evaluating = event.getClickedBlock();
if (apply(reg, evaluating.getLocation(), event.getPlayer(), event, event, evaluating, event.getPlayer())) {
if (event.isCancelled()) {
event.setUseItemInHand(Event.Result.ALLOW);
event.setUseInteractedBlock(Event.Result.DENY);
event.setCancelled(false);
}
break;
}
}
}
}
示例6: onBlockDamage
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Filters BlockDamageEvent, Used for early warnings.
*
* <p>Applies to: block and block break<p/>
*/
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBlockDamage(BlockDamageEvent event) {
Match match = Cardinal.getMatch(event.getPlayer());
if (match == null || !match.hasPlayer(event.getPlayer())) {
return;
}
for (AppliedRegion reg : get(match, ApplyType.BLOCK, ApplyType.BLOCK_BREAK)) {
Block evaluating = event.getBlock();
if (apply(reg, evaluating.getLocation(), event.getPlayer(), event, event, evaluating, event.getPlayer())) {
if (event.isCancelled()) {
event.setCancelled(false);
}
break;
}
}
}
示例7: onBlockFromTo
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Checks if lava has reached the leak distance below this core.
*
* @param event The event.
*/
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockFromTo(BlockFromToEvent event) {
Match match = Cardinal.getMatch(event.getWorld());
if (match == null) {
return;
}
Block to = event.getToBlock();
Material type = event.getBlock().getType();
if (type.equals(Material.STATIONARY_LAVA) || type.equals(Material.LAVA)) {
Core core = getClosestCore(match, to.getLocation().clone());
if (core != null && !core.isComplete()) {
int distance = getBottom(core) - to.getY();
if (distance >= core.getLeak()) {
core.setComplete(true);
Channels.getGlobalChannel(Cardinal.getMatchThread(match)).sendMessage(new LocalizedComponentBuilder(
ChatConstant.getConstant("objective.core.completed"),
new TeamComponent(core.getOwner()),
Components.setColor(core.getComponent(), ChatColor.RED)).color(ChatColor.RED).build());
Bukkit.getPluginManager().callEvent(new ObjectiveCompleteEvent(core, null));
}
}
}
}
示例8: PlayerContainerData
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Creates new container data under a match thread, match, and player container.
*
* @param matchThread The match thread.
* @param match The match.
* @param playing The player container.
*/
public PlayerContainerData(MatchThread matchThread, Match match, CompetitorContainer playing) {
if (match != null && playing == null) {
throw new IllegalArgumentException("Playing cannot be null when match is not null");
}
this.matchThread = matchThread;
this.match = match;
this.playing = playing;
}
示例9: getTeamObjectives
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Gets the objectives required for a team to complete.
*
* @param team The team.
* @return The team's objectives.
*/
public static List<Objective> getTeamObjectives(@NonNull Match match, @NonNull Team team) {
List<Objective> objectives = Lists.newArrayList();
objectives.addAll(Objective.getObjectives(match).stream().filter(objective ->
(objective instanceof OwnedObjective && !((OwnedObjective) objective).getOwner().equals(team))
|| (objective instanceof Wool && ((Wool) objective).getTeam().equals(team))).collect(Collectors.toList()));
return objectives;
}
示例10: getMatch
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* @param world The world.
* @return The match that uses that world.
*/
@NonNull
public static Match getMatch(@NonNull World world) {
for (MatchThread matchThread : getInstance().getMatchThreads()) {
if (matchThread.getCurrentMatch().getWorld().equals(world)) {
return matchThread.getCurrentMatch();
}
}
return null;
}
示例11: getTeamByName
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* @param name The input name.
* @return The team that ha the input name.
*/
public Team getTeamByName(@NonNull Match match, @NonNull String name) {
for (Team team : getTeams(match)) {
if (Strings.getSimplifiedName(team.getName()).startsWith(Strings.getSimplifiedName(name))) {
return team;
}
}
return null;
}
示例12: getTeamByPlayer
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* @param player The input player.
* @return The team which the player is on.
*/
public Team getTeamByPlayer(@NonNull Match match, @NonNull Player player) {
for (Team team : getTeams(match)) {
if (team.getPlayers().contains(player)) {
return team;
}
}
return null;
}
示例13: loadMatch
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
@Override
public boolean loadMatch(Match match) {
for (Element kits : match.getMap().getDocument().getRootElement().getChildren("kits")) {
for (Element element : kits.getChildren("kit")) {
Map.Entry<String, Kit> entry = parseKit(match, element);
IdModule.get().add(match, entry.getKey(), entry.getValue());
}
}
return true;
}
示例14: onBlockPlace
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Filters BlockPlaceEvent.
*
* <p>Applies to: block, block place and block place against.<p/>
*/
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBlockPlace(BlockPlaceEvent event) {
Match match = Cardinal.getMatch(event.getPlayer());
if (match == null || !match.hasPlayer(event.getPlayer())) {
return;
}
for (AppliedRegion reg : get(match, ApplyType.BLOCK, ApplyType.BLOCK_PLACE, ApplyType.BLOCK_PLACE_AGAINST)) {
Block evaluating = reg.isType(ApplyType.BLOCK_PLACE_AGAINST) ? event.getBlockAgainst() : event.getBlock();
if (apply(reg, evaluating.getLocation(), event.getPlayer(), event, event, evaluating, event.getPlayer())) {
break;
}
}
}
示例15: onBlockBreak
import in.twizmwaz.cardinal.match.Match; //导入依赖的package包/类
/**
* Filters BlockBreakEvent.
*
* <p>Applies to: block, block break.<p/>
*/
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBlockBreak(BlockBreakEvent event) {
Match match = Cardinal.getMatch(event.getPlayer());
if (match == null || !match.hasPlayer(event.getPlayer())) {
return;
}
for (AppliedRegion reg : get(match, ApplyType.BLOCK, ApplyType.BLOCK_BREAK)) {
Block evaluating = event.getBlock();
if (apply(reg, evaluating.getLocation(), event.getPlayer(), event, event, evaluating, event.getPlayer())) {
break;
}
}
}