opinqz / firework_composer
该软件包最新版本(5.0.x-dev)没有提供许可信息。
5.0.x-dev
2024-06-13 08:54 UTC
Requires
- pocketmine/pocketmine-mp: ^5.0.0
This package is auto-updated.
Last update: 2024-09-13 09:19:47 UTC
README
由BlockHozirons开发的插件,并更新到API 5
修复了一些问题,并支持最新的Pocketmine-MP版本
此插件将为您的Pocketmine服务器添加烟花
API
将烟花物品添加到玩家的存货中
给玩家发烟花就像吃饼一样简单。以下是一些示例(其中 $player
是一个 \pocketmine\player\Player
对象)
- 基本烟花
/** @var Fireworks $fw */ $fireworks = ExtraVanillaItems::FIREWORKS(); $fw = clone $fireworks; $player->getInventory()->addItem($fw);
- 从蓝色渐变到青色的球形烟花
/** @var Fireworks $fw */ $fireworks = ExtraVanillaItems::FIREWORKS(); $fw = clone $fireworks; // addExplosion Parameters: // int $type: Type of explosion, 0 - 4, see Fireworks::TYPE_* constants // string $color: Color of explosion, see Fireworks::COLOR_* constants // string $fade = "": Color to fade to, none if an empty string is passed // bool $flicker = false: If the particles should flicker // bool $trail = false: If the particles leave a trail behind $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_BLUE, Fireworks::COLOR_DARK_AQUA, false, false); $player->getInventory()->addItem($fw);
- 绿色的爬行者烟花,飞行高度更高
/** @var Fireworks $fw */ $fireworks = ExtraVanillaItems::FIREWORKS(); $fw = clone $fireworks; $fw->addExplosion(Fireworks::TYPE_CREEPER_HEAD, Fireworks::COLOR_GREEN, "", false, false); $fw->setFlightDuration(2); $player->getInventory()->addItem($fw);
- 高飞闪烁的星星烟花,带有尾迹
/** @var Fireworks $fw */ $fireworks = ExtraVanillaItems::FIREWORKS(); $fw = clone $fireworks; $fw->addExplosion(Fireworks::TYPE_STAR, Fireworks::COLOR_YELLOW, "", true, true); $fw->setFlightDuration(3); $player->getInventory()->addItem($fw);
- 全彩球形烟花,带有尾迹
/** @var Fireworks $fw */ $fireworks = ExtraVanillaItems::FIREWORKS(); $fw = clone $fireworks; $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_BLACK, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_RED, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_DARK_GREEN, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_BROWN, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_BLUE, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_DARK_PURPLE, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_DARK_AQUA, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_GRAY, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_DARK_GRAY, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_PINK, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_GREEN, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_YELLOW, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_LIGHT_AQUA, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_DARK_PINK, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_GOLD, "", false, true); $fw->addExplosion(Fireworks::TYPE_SMALL_SPHERE, Fireworks::COLOR_WHITE, "", false, true); $player->getInventory()->addItem($fw);
发射烟花
在创建烟花物品后可以发射烟花。此示例在默认世界的出生点发射绿色的爬行者烟花
// Create the type of firework item to be launched /** @var Fireworks $fw */ $fireworks = ExtraVanillaItems::FIREWORKS(); $fw = clone $fireworks; $fw->addExplosion(Fireworks::TYPE_CREEPER_HEAD, Fireworks::COLOR_GREEN, "", false, false); $fw->setFlightDuration(2); // Use whatever level you'd like here. Must be loaded $level = Server::getInstance()->getDefaultLevel(); // Choose some coordinates $vector3 = $level->getSpawnLocation()->add(0.5, 1, 0.5); // Create the NBT data $nbt = FireworksRocket::createBaseNBT($vector3, new Vector3(0.001, 0.05, 0.001), lcg_value() * 360, 90); // Construct and spawn $entity = FireworksRocket::createEntity("FireworksRocket", $level, $nbt, $fw); if ($entity instanceof FireworksRocket) { $entity->spawnToAll(); }