Java 类org.bukkit.boss.BarFlag 实例源码
项目:SamaGamesAPI
文件:BossBarAPI.java
/**
* Set a boss bar with a given color, style, percentage to a given
* player. Also you can enable the darken sky, the boss music ambiance
* and enable fog to a given player
*
* @param message Message on the top of the bar
* @param color Color of the bar
* @param style Style of the bar
* @param progress Filling percentage
* @param darkenSky Enable darken sky
* @param playMusic Enable boss music
* @param createFog Enable the fog
*/
public static Pair<UUID, BossBar> getBar(String message, BarColor color, BarStyle style, double progress, boolean darkenSky, boolean playMusic, boolean createFog)
{
BossBar bossBar = Bukkit.createBossBar(message, color, style);
bossBar.setProgress(progress < 0 ? 0D : progress / 100.0D);
if (darkenSky)
bossBar.addFlag(BarFlag.DARKEN_SKY);
if (playMusic)
bossBar.addFlag(BarFlag.PLAY_BOSS_MUSIC);
if (createFog)
bossBar.addFlag(BarFlag.CREATE_FOG);
UUID random = UUID.randomUUID();
bossBars.put(random, bossBar);
return Pair.of(random, bossBar);
}
项目:QuestManager
文件:ForgeSequence.java
public void start() {
if (!player.getPlayer().isOnline())
return;
state = State.STARTING;
Alarm.getScheduler().schedule(this, 0, 1);
player.getPlayer().getPlayer().sendMessage(ChatColor.GREEN + "Get Ready...");
this.displayBar = Bukkit.createBossBar(displayName, BarColor.BLUE, BarStyle.SEGMENTED_20, new BarFlag[0]);
displayBar.setProgress(1f);
displayBar.addPlayer(player.getPlayer().getPlayer());
this.timeLeft = coolTime;
isCooling = true;
Bukkit.getPluginManager().registerEvents(this, QuestManagerPlugin.questManagerPlugin);
}
项目:QuestManager
文件:FishingGui.java
public void start() {
//Set up top bar
inv.setItem(0, this.reelOffIcon);
// for (int i = 1; i < 4; i++) {
// inv.setItem(i, this.meterOnIcon);
// }
// for (int i = 4; i < 8; i++) {
// inv.setItem(i, this.meterOffIcon);
// }
inv.setItem(8, this.reelOnIcon);
displayBar = Bukkit.createBossBar("Fishing Progress", BarColor.BLUE, BarStyle.SEGMENTED_20, new BarFlag[0]);
displayBar.setProgress(1f);
displayBar.addPlayer(player);
stressBar = Bukkit.createBossBar("Line Stress", BarColor.GREEN, BarStyle.SEGMENTED_10, new BarFlag[0]);
stressBar.setProgress(lineStress);
stressBar.addPlayer(player);
//start filling the 'sea'
//time is time to fill all in 5 seconds, or .2 if less than that (it would be too fast!)
Alarm.getScheduler().schedule(this, 0, Math.max(.2, 5 / (9 * this.waterRows)));
}
项目:ProjectAres
文件:RenderedBossBar.java
@Override
public void addPlayer(Player player) {
if(!views.containsKey(player)) {
final BossBar view = bossBarFactory.createBossBar(renderer.render(title, player), color, style, flags.toArray(new BarFlag[flags.size()]));
view.setVisible(visibile);
view.addPlayer(player);
views.put(player, view);
}
}
项目:ProjectAres
文件:RenderedBossBar.java
@Override
public void update(BaseComponent title, double progress, BarColor color, BarStyle style, Set<BarFlag> flags) {
this.title = title;
this.progress = progress;
this.color = color;
this.style = style;
this.flags.clear();
this.flags.addAll(flags);
views.entrySet().forEach(entry -> entry.getValue().update(renderer.render(title, entry.getKey()), progress, color, style, flags));
}
项目:Murder
文件:AssignExecutor.java
@Override
public void tick() {
super.tick();
if (ticks == 0) {
updatePlayerStates(GameState.ASSIGN, null);
}
if (ticks == 1) {//Assign
List<UUID> toAssign = new ArrayList<>(game.players);
//Pick a murderer
updateRole(toAssign.remove(random.nextInt(toAssign.size())), Role.MURDERER);
//Pick a weapon bystander
updateRole(toAssign.remove(random.nextInt(toAssign.size())), Role.WEAPON);
//Make all other players bystanders
while (!toAssign.isEmpty()) {
updateRole(toAssign.remove(0), Role.DEFAULT);
}
}
if (ticks == 2) {//Send role messages
for (UUID uuid : game.players) {
PlayerData data = Murder.instance.playerManager.getData(uuid);
//Titles
TitleAPI.reset(data.getPlayer());
TitleAPI.sendTimings(data.getPlayer(), 10, (Murder.instance.startTime * 20) - 5, 10);
TitleAPI.sendSubTitle(data.getPlayer(), new TextComponent(data.role.getSubTitle()));
TitleAPI.sendTitle(data.getPlayer(), new TextComponent(data.role.getTitle()));
//BossBar
TextComponent textComponent = new TextComponent(String.format(data.role.getBarText(), data.nameTag));
data.bossBar = Bukkit.createBossBar(textComponent.getText(), data.role.getBarColor(), data.role.getBarStyle(), BarFlag.DARKEN_SKY);
data.bossBar.addPlayer(data.getPlayer());
}
}
ticks++;
}
项目:QuestManager
文件:LumberjackSequence.java
public void start() {
if (!player.getPlayer().isOnline())
return;
state = State.STARTING;
Alarm.getScheduler().schedule(this, 0, 1);
player.getPlayer().getPlayer().sendMessage(ChatColor.GREEN + "Get Ready...");
this.displayBar = Bukkit.createBossBar(displayName, BarColor.BLUE, BarStyle.SEGMENTED_20, new BarFlag[0]);
displayBar.setProgress(1f);
displayBar.addPlayer(player.getPlayer().getPlayer());
Bukkit.getPluginManager().registerEvents(this, QuestManagerPlugin.questManagerPlugin);
}
项目:QuestManager
文件:MiningGui.java
@Override
public void alarm(Integer key) {
if (gameState == State.STARTING) {
if (key >= startingSpots) {
if (player.isOnline())
player.sendMessage(ChatColor.GREEN + "Go!");
this.gameState = State.RUNNING;
displayBar = Bukkit.createBossBar("Ore Stability", BarColor.BLUE, BarStyle.SEGMENTED_20, new BarFlag[0]);
displayBar.setProgress(1f);
displayBar.addPlayer(player);
return;
}
//pick a spots to reveal
int cur = RANDOM.nextInt(depth * 9);
if (backend.get(cur) == BlockMaterial.ORE || backend.get(cur) == BlockMaterial.AIR) {
alarm(key);
} else {
//else reveal it
if (player.isOnline())
player.playSound(player.getLocation(), HIT_SOUND_STONE, 1, 1.5f);
for (int j = 0; j < 3; j++)
hitBlock(cur);
}
Alarm.getScheduler().schedule(this, key + 1, .5);
}
}
项目:QuestManager
文件:SmeltingGui.java
public void start() {
if (gameState != State.STOPPED) {
return;
}
//generate blocks.
//first block is the button
inv.setItem(0, SMELT_BUTTON_ICON);
ItemStack slot;
for (int i = 1; i < 9 * rows; i++) {
if (RANDOM.nextDouble() < metalRatio) {
//it's metal. pick one
slot = inputs.get(RANDOM.nextInt(inputs.size()));
generatedMetals++;
} else {
slot = SLAG_ICON;
this.slagSlots.add(i);
}
inv.setItem(i, slot);
backend.put(i, slot);
}
displayBar = Bukkit.createBossBar("Ore Temperature", BarColor.RED, BarStyle.SEGMENTED_20, new BarFlag[0]);
displayBar.setProgress(0f);
displayBar.addPlayer(player);
player.getPlayer().sendMessage(ChatColor.GREEN + "Begin");
player.playSound(player.getLocation(), START_SOUND, 1, 1);
this.gameState = State.SOLID;
currentClicks = 0;
currentHeats = 0;
discardedMetals = 0;
}
项目:Skellett
文件:ExprNewBossBar.java
@Override
@Nullable
protected BossBar[] get(Event e) {
BossBar bar = Bukkit.createBossBar(Skellett.cc("&a&lSkellett bossbar"), BarColor.GREEN, BarStyle.SOLID, new BarFlag[0]);
if (flag != null) {
bar = Bukkit.createBossBar(Skellett.cc("&a&lSkellett bossbar"), BarColor.GREEN, BarStyle.SOLID, flag.getSingle(e));
}
return new BossBar[]{bar};
}
项目:Skellett
文件:EffBarAddFlag.java
@SuppressWarnings("unchecked")
@Override
public boolean init(Expression<?>[] e, int arg1, Kleenean arg2, ParseResult arg3) {
flag = (Expression<BarFlag>) e[0];
bar = (Expression<BossBar>) e[1];
return true;
}
项目:Skellett
文件:ExprBarFlags.java
@Override
@Nullable
protected BarFlag[] get(Event e) {
if (bar == null) {
return null;
}
ArrayList<BarFlag> flags = new ArrayList<BarFlag>();
for (BarFlag flag : BarFlag.values()) {
if (bar.getSingle(e).hasFlag(flag)) {
flags.add(flag);
}
}
return flags.toArray(new BarFlag[flags.size()]);
}
项目:Skellett
文件:EffBarRemoveFlag.java
@SuppressWarnings("unchecked")
@Override
public boolean init(Expression<?>[] e, int arg1, Kleenean arg2, ParseResult arg3) {
flag = (Expression<BarFlag>) e[0];
bar = (Expression<BossBar>) e[1];
return true;
}
项目:Skellett
文件:CondBarHasFlag.java
@SuppressWarnings("unchecked")
public boolean init(Expression<?>[] e, int matchedPattern, Kleenean isDelayed, ParseResult parser) {
bar = (Expression<BossBar>) e[0];
flag = (Expression<BarFlag>) e[1];
if (parser.mark == 2) {boo = false;}
return true;
}
项目:skRayFall
文件:BossBarManager.java
/**
* Add a flag to a bossbar in the BossBarManager through the stored ID.
*
* @param id The ID text for the bossbar.
* @param flag The BarFlag to be added.
*/
public void addFlag(String id, BarFlag flag) {
BossBar bar = barMap.get(id);
if (bar != null) {
bar.addFlag(flag);
barMap.put(id, bar);
}
}
项目:skRayFall
文件:BossBarManager.java
/**
* Remove a flag from a bossbar in the BossBarManager through the stored ID.
*
* @param id The ID text for the bossbar.
* @param flag The BarFlag to be added.
*/
public void removeFlag(String id, BarFlag flag) {
BossBar bar = barMap.get(id);
if (bar != null) {
bar.removeFlag(flag);
barMap.put(id, bar);
}
}
项目:CardinalPGM
文件:LocalizedBossBar.java
public LocalizedBossBar(ChatMessage bossBarTitle, BarColor color, BarStyle style, BarFlag... flags) {
this.bossBarTitle = bossBarTitle;
this.color = color;
this.style = style;
this.shown = true;
this.flags = flags.length > 0 ? EnumSet.of(flags[0], flags):EnumSet.noneOf(BarFlag.class);
}
项目:CardinalPGM
文件:LocalizedBossBar.java
public void removeFlag(BarFlag flag) {
if (this.flags.contains(flag)) {
this.flags.remove(flag);
for (BossBar bossbar : playerBossBars.values()) {
bossbar.setFlags(this.flags);
}
}
}
项目:CardinalPGM
文件:LocalizedBossBar.java
public void addFlag(BarFlag flag) {
if (!this.flags.contains(flag)) {
this.flags.remove(flag);
for (BossBar bossbar : playerBossBars.values()) {
bossbar.setFlags(this.flags);
}
}
}
项目:CardinalPGM
文件:LocalizedBossBar.java
public void addPlayer(Player player) {
if (!playerBossBars.containsKey(player)) {
BossBar bossBar = Bukkit.createBossBar(getTitle(player.getLocale()), this.color, this.style, this.flags.toArray(new BarFlag[flags.size()]));
bossBar.setVisible(this.shown);
bossBar.addPlayer(player);
playerBossBars.put(player, bossBar);
}
}
项目:CardinalPGM
文件:BossBars.java
public static UUID addBroadcastedBossBar(ChatMessage bossBarTitle, BarColor color, BarStyle style, Boolean shown, BarFlag... flags) {
UUID id = UUID.randomUUID();
LocalizedBossBar bossBar = new LocalizedBossBar(bossBarTitle, color, style, flags);
bossBar.setVisible(shown);
for (Player player : Bukkit.getOnlinePlayers()) {
bossBar.addPlayer(player);
}
broadcastedBossBars.put(id, bossBar);
return id;
}
项目:SpigotSource
文件:CraftBossBar.java
public CraftBossBar(String title, BarColor color, BarStyle style, BarFlag... flags) {
this.flags = flags.length > 0 ? EnumSet.of(flags[0], flags) : EnumSet.noneOf(BarFlag.class);
this.color = color;
this.style = style;
handle = new BossBattleServer(
CraftChatMessage.fromString(title, true)[0],
convertColor(color),
convertStyle(style)
);
updateFlags();
}
项目:WC
文件:BossBarUtils.java
public static BossBar bossBar(String title, BarColor color, BarStyle style, BarFlag... flags){
BossBar bb = WCCore.getInstance().getServer().createBossBar(title, color, style, flags);
bb.setTitle(title);
return bb;
}
项目:ProjectAres
文件:BossBarSource.java
default Set<BarFlag> barFlags(Player viewer) {
return Collections.emptySet();
}
项目:ProjectAres
文件:BossBarFactoryImpl.java
@Override
public BossBar createBossBar(BaseComponent title, BarColor color, BarStyle style, BarFlag... flags) {
return server.createBossBar(title, color, style, flags);
}
项目:ProjectAres
文件:RenderedBossBar.java
@Override
public boolean hasFlag(BarFlag flag) {
return this.flags.contains(flag);
}
项目:ProjectAres
文件:RenderedBossBar.java
@Override
public void setFlags(Set<BarFlag> flags) {
this.flags.clear();
this.flags.addAll(flags);
views.values().forEach(view -> view.setFlags(flags));
}
项目:ProjectAres
文件:RenderedBossBar.java
@Override
public void removeFlag(BarFlag flag) {
this.flags.remove(flag);
views.values().forEach(view -> view.removeFlag(flag));
}
项目:ProjectAres
文件:RenderedBossBar.java
@Override
public void addFlag(BarFlag flag) {
this.flags.add(flag);
views.values().forEach(view -> view.addFlag(flag));
}
项目:MockBukkit
文件:ServerMock.java
@Override
public BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag... flags)
{
// TODO Auto-generated method stub
throw new UnimplementedOperationException();
}
项目:FlexMC
文件:FlexServerImpl.java
@Override
public BossBar createBossBar( String s, BarColor barColor, BarStyle barStyle, BarFlag... barFlags ) {
throw new UnsupportedOperationException();
}
项目:Bukkit2Sponge
文件:FakeServer.java
@Override
public BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag... flags) {
return null; // TODO: Link with Sponge in some way or another.
}
项目:VoxelGamesLib
文件:BossBarFlagConverter.java
@Override
public BarFlag fromVGL(BossBarModifier bossBarModifier) {
return BarFlag.valueOf(bossBarModifier.name());
}
项目:VoxelGamesLib
文件:BossBarFlagConverter.java
@Override
public BossBarModifier toVGL(BarFlag barFlag) {
return BossBarModifier.valueOf(barFlag.name());
}
项目:netherrack
文件:NetherServer.java
@Override
public BossBar createBossBar(String arg0, BarColor arg1, BarStyle arg2, BarFlag... arg3) {
// TODO Auto-generated method stub
return null;
}
项目:Brynhildr
文件:NukkitServer.java
@Override
public BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag... flags) {
return null;
}
项目:ExilePearl
文件:TestServer.java
@Override
public BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag... flags) {
throw new UnsupportedOperationException();
}
项目:SaneEconomy
文件:MockServer.java
@Override
public BossBar createBossBar(String s, BarColor barColor, BarStyle barStyle, BarFlag... barFlags) {
return null;
}
项目:Pokkit
文件:CraftServer.java
@Override
public BossBar createBossBar(String arg0, BarColor arg1, BarStyle arg2, BarFlag... arg3) {
throw Pokkit.unsupported();
}
项目:Skellett
文件:ExprNewBossBar.java
@SuppressWarnings("unchecked")
@Override
public boolean init(Expression<?>[] e, int arg1, Kleenean arg2, ParseResult arg3) {
flag = (Expression<BarFlag>) e[0];
return true;
}