This repository was archived by the owner on Feb 8, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 5 files changed +76
-2
lines changed
src/VectorNetworkProject/TheMix Expand file tree Collapse file tree 5 files changed +76
-2
lines changed Original file line number Diff line number Diff line change 14
14
use VectorNetworkProject \TheMix \command \PingCommand ;
15
15
use VectorNetworkProject \TheMix \command \TpsCommand ;
16
16
use VectorNetworkProject \TheMix \event \ThePlayerLoginEvent ;
17
+ use VectorNetworkProject \TheMix \task \UpdateScoreboardTask ;
17
18
18
19
class TheMix extends PluginBase
19
20
{
@@ -30,6 +31,7 @@ public function onEnable()
30
31
{
31
32
$ this ->registerCommands ();
32
33
$ this ->registerEvents ();
34
+ $ this ->getScheduler ()->scheduleRepeatingTask (new UpdateScoreboardTask (), 20 );
33
35
$ this ->getLogger ()->notice (TextFormat::AQUA . '
34
36
35
37
Original file line number Diff line number Diff line change
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 \event ;
10
+
11
+
12
+ use pocketmine \event \Listener ;
13
+ use pocketmine \event \player \PlayerJoinEvent ;
14
+ use VectorNetworkProject \TheMix \lib \scoreboard \Scoreboard ;
15
+
16
+ class ThePlayerJoinEvent implements Listener
17
+ {
18
+ public function event (PlayerJoinEvent $ event )
19
+ {
20
+ $ player = $ event ->getPlayer ();
21
+ Scoreboard::addBoard ($ player );
22
+ }
23
+ }
Original file line number Diff line number Diff line change
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 \event ;
10
+
11
+
12
+ use pocketmine \event \Listener ;
13
+ use pocketmine \event \player \PlayerQuitEvent ;
14
+ use VectorNetworkProject \TheMix \lib \scoreboard \Scoreboard ;
15
+
16
+ class ThePlayerQuitEvent implements Listener
17
+ {
18
+ public function event (PlayerQuitEvent $ event )
19
+ {
20
+ $ player = $ event ->getPlayer ();
21
+ Scoreboard::removeBoard ($ player );
22
+ }
23
+ }
Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ public static function hasBoard(Player $player): bool
53
53
*/
54
54
public static function setLine (Player $ player , int $ line , string $ text ): void
55
55
{
56
- if (!isset ( self ::$ scoreboards [ $ player-> getName ()] )) return ;
56
+ if (!self ::hasBoard ( $ player )) return ;
57
57
if ($ line < 1 || $ line > 15 ) return ;
58
58
$ entry = new ScorePacketEntry ();
59
59
$ entry ->objectiveName = "objective " ;
@@ -75,6 +75,6 @@ public static function removeBoard(Player $player): void
75
75
$ packet = new RemoveObjectivePacket ();
76
76
$ packet ->objectiveName = "objective " ;
77
77
$ player ->sendDataPacket ($ packet );
78
- if (isset ( self ::$ scoreboards [ ($ player-> getName ())] )) unset(self ::$ scoreboards [$ player ->getName ()]);
78
+ if (self ::hasBoard ($ player )) unset(self ::$ scoreboards [$ player ->getName ()]);
79
79
}
80
80
}
Original file line number Diff line number Diff line change
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 \task ;
10
+
11
+
12
+ use pocketmine \scheduler \Task ;
13
+ use pocketmine \Server ;
14
+ use VectorNetworkProject \TheMix \lib \scoreboard \Scoreboard ;
15
+
16
+ class UpdateScoreboardTask extends Task
17
+ {
18
+ public function onRun (int $ currentTick )
19
+ {
20
+ foreach (Server::getInstance ()->getOnlinePlayers () as $ player ) {
21
+ Scoreboard::setLine ($ player , 1 , 'test ' );
22
+ Scoreboard::setLine ($ player , 2 , ' ' );
23
+ Scoreboard::setLine ($ player , 3 , 'test ' );
24
+ }
25
+ }
26
+ }
You can’t perform that action at this time.
0 commit comments