terpz710/apibossbar

此包最新版本(dev-master)没有提供许可证信息。

dev-master 2024-07-29 17:06 UTC

This package is not auto-updated.

Last update: 2024-09-24 15:57:54 UTC


README

一个简单的API病毒,用于创建、发送、修改和使用Minecraft插件PocketMine-MP中的BOSS怪物指示栏

优点

使用此API非常简单

  • 使用单个对象
  • 流畅的设置器(在一行中使用多个函数)
  • 更清晰的代码
  • 更容易理解
  • 无需担心使用的实体ID
  • 两种类型的栏(BossBar对所有玩家相同,DiverseBossBar可以按玩家修改)
  • 无需调用"API::function()",只需对象方法
  • 可更改的实体(可用于实际的BOSS怪物,例如)

类型

有2种类型的BOSS栏。

  • BossBar:用于共享数据,因此所有已注册的玩家都看到相同的栏。
  • DiverseBossBar:用于唯一数据,它们的数据可以按玩家修改。它们还可以为多个玩家批量设置,如果未为玩家设置特定数据,则将使用默认值。默认数据设置为共享的BossBar一样

API & 使用

一个非常基础的示例可以在以下链接中看到: BossBarTest。对于更高级的示例,您可以查看 BossAnnouncement

创建一个新的BOSS栏

/** @var BossBar */
$bar = new BossBar();

设置标题和/或副标题

$bar->setTitle(string $title = "");
$bar->setSubTitle(string $subTitle = "");

设置颜色

// Available Colors:
// RED, PINK, BLUE, GREEN, YELLOW, PURPLE, REBECCA_PURPLE and WHITE
$bar->setColor(BarColor::RED);

设置填充百分比

// Half-filled
$bar->setPercentage(0.5);

添加和删除玩家

// Single
$bar->addPlayer(Player $player);// This will spawn the bar to the player
$bar->removePlayer(Player $player);
// Multiple
/** @var Player[] $players */
$bar->addPlayers(array $players);
$bar->removePlayers(array $players);
$bar->removeAllPlayers();

隐藏和显示栏

/** @var Player[] $players */
$bar->hideFrom(array $players);
$bar->showTo(array $players);

获取和设置栏分配的实体

/** @var Entity|Player $entity */
$bar->getEntity();
$bar->setEntity(Entity $entity);
$bar->resetEntity();

单行示例

/** @var Player $player */
$player = Server::getInstance()->getPlayerByName("Steve");
/** @var BossBar */
$bar = (new BossBar())->setTitle("Hello world!")->setSubTitle("Foo Bar")->setPercentage(0.5)->addPlayer($player);

DiverseBossBar有一些额外的方法可以设置每个玩家的数据

将数据重置为其默认值

$bar->resetFor(Player $player);
$bar->resetForAll();

为玩家设置和获取标题

/** @var Player[] $players */
$bar->setTitleFor(array $players);
$bar->setSubTitleFor(array $players);
$bar->getTitleFor(Player $player);
$bar->getSubTitleFor(Player $player);
$bar->getFullTitleFor(Player $player);// Combined and encoded title & subtitle

为玩家设置百分比

/** @var Player[] $players */
$bar->setPercentageFor(array $players);
$bar->getPercentageFor(Player $player);

免责声明 & 信息

由XenialDan编写和维护

请随意提出建议和错误报告的问题。请留下尽可能多的信息,以帮助加快问题的调试。

这是对BossBarAPI的全面重写。使用此病毒插件应尽快升级到apibossbar

颜色和叠加层由于客户端未正确实现而不工作(它们使用资源包定义文件中的数据)。#blamemojang 为从Minecraft: Java Edition复制粘贴的残留物