Skip to content
This repository was archived by the owner on Feb 8, 2019. It is now read-only.

Commit 2cd481d

Browse files
committed
Merge branch 'feature/defaultkits' into develop
2 parents 3c115eb + b3ad0da commit 2cd481d

File tree

12 files changed

+150
-10
lines changed

12 files changed

+150
-10
lines changed

src/VectorNetworkProject/TheMix/event/block/TheBlockBreakEvent.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public function event(BlockBreakEvent $event)
2929
$block = $event->getBlock();
3030
if (TheEndGameEvent::isFinish()) {
3131
$event->setCancelled();
32+
3233
return;
3334
}
3435
if ($player->getLevel()->getName() === Server::getInstance()->getDefaultLevel()->getName()) {

src/VectorNetworkProject/TheMix/event/block/TheBlockPlaceEvent.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public function event(BlockPlaceEvent $event)
2121
$player = $event->getPlayer();
2222
if (TheEndGameEvent::isFinish()) {
2323
$event->setCancelled();
24+
2425
return;
2526
}
2627
if ($player->getLevel()->getName() === Server::getInstance()->getDefaultLevel()->getName()) {
@@ -29,7 +30,9 @@ public function event(BlockPlaceEvent $event)
2930
}
3031
$event->setCancelled();
3132
} elseif ($player->getLevel()->getName() === DefaultConfig::getStageLevelName()) {
32-
if (DefaultConfig::isDev()) return;
33+
if (DefaultConfig::isDev()) {
34+
return;
35+
}
3336
$event->setCancelled();
3437
}
3538
}

src/VectorNetworkProject/TheMix/event/entity/TheEntityDamageEvent.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,27 @@ public function event(EntityDamageEvent $event)
2424
{
2525
$entity = $event->getEntity();
2626
$entity->extinguish();
27-
if (TheEndGameEvent::isFinish()) return;
28-
if (!$entity instanceof Player) return;
29-
if ($event->getFinalDamage() < $entity->getHealth()) return;
30-
if ($event->getCause() === EntityDamageEvent::CAUSE_FALL) return;
27+
if (TheEndGameEvent::isFinish()) {
28+
return;
29+
}
30+
if (!$entity instanceof Player) {
31+
return;
32+
}
33+
if ($event->getFinalDamage() < $entity->getHealth()) {
34+
return;
35+
}
36+
if ($event->getCause() === EntityDamageEvent::CAUSE_FALL) {
37+
return;
38+
}
3139
if ($event instanceof EntityDamageByEntityEvent) {
3240
$event->setCancelled();
3341
SpawnManager::PlayerReSpawn($entity);
3442
Streak::resetStreak($entity);
3543
$damager = $event->getDamager();
3644
if ($damager instanceof Player) {
37-
if ($entity->getName() === $damager->getName()) return;
45+
if ($entity->getName() === $damager->getName()) {
46+
return;
47+
}
3848
Streak::addStreak($damager);
3949
GoldAPI::addGold($damager, mt_rand(10, 15));
4050
LevelAPI::Auto($damager, mt_rand(10, 15));

src/VectorNetworkProject/TheMix/event/game/TheEndGameEvent.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ public function event(GameWinEvent $event)
3232
}
3333
self::setFinish(true);
3434
foreach (Server::getInstance()->getOnlinePlayers() as $player) {
35+
if ($player->getLevel()->getName() === DefaultConfig::getStageLevelName()) {
36+
$player->setFlying(true);
37+
}
38+
$player->getInventory()->clearAll();
3539
if ($event->getType() === GameWinEvent::WIN_RED) {
3640
if (RedTeamManager::isJoined($player)) {
3741
GoldAPI::addGold($player, 1000);

src/VectorNetworkProject/TheMix/event/game/ThePlayerStreakEvent.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
namespace VectorNetworkProject\TheMix\event\game;
1010

11-
1211
use pocketmine\event\Listener;
1312
use pocketmine\Player;
1413
use pocketmine\Server;
@@ -43,7 +42,7 @@ public function event(PlayerStreakEvent $event)
4342

4443
/**
4544
* @param Player $player
46-
* @param int $count
45+
* @param int $count
4746
*/
4847
private function getStreakMessage(Player $player, int $count): void
4948
{

src/VectorNetworkProject/TheMix/event/level/TheLevelUpEvent.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
namespace VectorNetworkProject\TheMix\event\level;
1010

11-
1211
use InkoHX\LeveLibrary\event\level\PlayerLevelUpEvent;
1312
use pocketmine\event\Listener;
1413

src/VectorNetworkProject/TheMix/game/corepvp/SpawnManager.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
use VectorNetworkProject\TheMix\game\corepvp\red\RedSpawnManager;
1919
use VectorNetworkProject\TheMix\game\corepvp\red\RedTeamManager;
2020
use VectorNetworkProject\TheMix\game\DefaultConfig;
21+
use VectorNetworkProject\TheMix\game\kit\BlueKit;
22+
use VectorNetworkProject\TheMix\game\kit\RedKit;
2123
use VectorNetworkProject\TheMix\task\ReSpawnCooldownTask;
2224
use VectorNetworkProject\TheMix\TheMix;
2325

@@ -27,8 +29,10 @@ public static function PlayerReSpawn(Player $player)
2729
{
2830
if (RedTeamManager::isJoined($player)) {
2931
self::ReSpawnCooldown($player, RedSpawnManager::getRandomPosition());
32+
RedKit::sendItem($player);
3033
} elseif (BlueTeamManager::isJoined($player)) {
3134
self::ReSpawnCooldown($player, BlueSpawnManager::getRandomPosition());
35+
BlueKit::sendItems($player);
3236
} else {
3337
self::ReSpawnCooldown($player, Server::getInstance()->getDefaultLevel()->getSpawnLocation());
3438
}
@@ -44,6 +48,7 @@ private static function ReSpawnCooldown(Player $player, Position $position): voi
4448
$player->setMaxHealth(20);
4549
$player->setFood(20);
4650
$player->getInventory()->clearAll();
51+
$player->getArmorInventory()->clearAll();
4752
$player->removeAllEffects();
4853
$player->addEffect(new EffectInstance(Effect::getEffect(Effect::NIGHT_VISION), 99999999 * 20, 11, false));
4954
TheMix::getInstance()->getScheduler()->scheduleDelayedTask(new ReSpawnCooldownTask($player, $position), 100);

src/VectorNetworkProject/TheMix/game/corepvp/TeamManager.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
use pocketmine\Player;
1212
use VectorNetworkProject\TheMix\game\corepvp\blue\BlueTeamManager;
1313
use VectorNetworkProject\TheMix\game\corepvp\red\RedTeamManager;
14+
use VectorNetworkProject\TheMix\game\kit\BlueKit;
15+
use VectorNetworkProject\TheMix\game\kit\RedKit;
1416

1517
abstract class TeamManager
1618
{
@@ -21,8 +23,10 @@ public static function JoinTeam(Player $player)
2123
}
2224
if (BlueTeamManager::getListCount() < RedTeamManager::getListCount()) {
2325
BlueTeamManager::addList($player);
26+
BlueKit::sendItems($player);
2427
} else {
2528
RedTeamManager::addList($player);
29+
RedKit::sendItem($player);
2630
}
2731
}
2832

src/VectorNetworkProject/TheMix/game/event/player/PlayerStreakEvent.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
class PlayerStreakEvent extends PlayerEvent implements Cancellable
1616
{
17-
/** @var int $count */
17+
/** @var int $count */
1818
private $count;
1919

2020
public function __construct(Player $player, int $count)
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?php
2+
/**
3+
* Copyright (c) 2018 VectorNetworkProject. All rights reserved. MIT license.
4+
*
5+
* GitHub: https://github.com/VectorNetworkProject/TheMix
6+
* Website: https://www.vector-network.tk
7+
*/
8+
9+
namespace VectorNetworkProject\TheMix\game\kit;
10+
11+
use pocketmine\item\Armor;
12+
use pocketmine\item\Durable;
13+
use pocketmine\item\Item;
14+
use pocketmine\Player;
15+
use pocketmine\utils\Color;
16+
17+
class BlueKit
18+
{
19+
public static function sendItems(Player $player): void
20+
{
21+
$armors = [
22+
'leather_cap' => Item::get(Item::LEATHER_CAP),
23+
'leather_tunic' => Item::get(Item::LEATHER_TUNIC),
24+
'leather_pants' => Item::get(Item::LEATHER_PANTS),
25+
'leather_boots' => Item::get(Item::LEATHER_BOOTS),
26+
];
27+
$weapons = [
28+
'wooden_sword' => Item::get(Item::WOODEN_SWORD),
29+
'bow' => Item::get(Item::BOW),
30+
'stone_pickaxe' => Item::get(Item::STONE_PICKAXE),
31+
'stone_axe' => Item::get(Item::STONE_AXE),
32+
'stone_shovel' => Item::get(Item::STONE_SHOVEL),
33+
];
34+
foreach ($armors as $armor) {
35+
if ($armor instanceof Durable and $armor instanceof Armor) {
36+
$armor->setUnbreakable(true);
37+
$armor->setCustomColor(new Color(0, 150, 255));
38+
}
39+
}
40+
foreach ($weapons as $weapon) {
41+
if ($weapon instanceof Durable) {
42+
$weapon->setUnbreakable(true);
43+
}
44+
}
45+
$armor = $player->getArmorInventory();
46+
$armor->setHelmet($armors['leather_cap']);
47+
$armor->setChestplate($armors['leather_tunic']);
48+
$armor->setLeggings($armors['leather_pants']);
49+
$armor->setBoots($armors['leather_boots']);
50+
$player->getInventory()->addItem($weapons['wooden_sword']);
51+
$player->getInventory()->addItem($weapons['bow']);
52+
$player->getInventory()->addItem($weapons['stone_pickaxe']);
53+
$player->getInventory()->addItem($weapons['stone_axe']);
54+
$player->getInventory()->addItem($weapons['stone_shovel']);
55+
$player->getInventory()->setItem(8, Item::get(Item::ARROW, 0, 64));
56+
}
57+
}

0 commit comments

Comments
 (0)