From be5a27d7e3acbf0ce7f66005842b263a6b332735 Mon Sep 17 00:00:00 2001 From: AlphaAE Date: Tue, 30 Apr 2019 00:22:43 +0800 Subject: [PATCH] new block --- src/com/alphaae/mcpe/servers/Config.java | 2 +- src/com/alphaae/mcpe/servers/StaticData.java | 12 +++++++ .../mcpe/servers/event/JoinQuitEvent.java | 2 ++ .../block/joinquit/DisplayInfoBlock.java | 15 ++++++--- .../block/joinquit/LoadPlayerDataBlock.java | 31 +++++++++++++++++++ .../alphaae/mcpe/servers/model/RePlayer.java | 30 ++++++++++++++++++ .../alphaae/mcpe/servers/model/SuPlayer.java | 10 ------ 7 files changed, 87 insertions(+), 15 deletions(-) create mode 100644 src/com/alphaae/mcpe/servers/StaticData.java create mode 100644 src/com/alphaae/mcpe/servers/event/block/joinquit/LoadPlayerDataBlock.java create mode 100644 src/com/alphaae/mcpe/servers/model/RePlayer.java delete mode 100644 src/com/alphaae/mcpe/servers/model/SuPlayer.java diff --git a/src/com/alphaae/mcpe/servers/Config.java b/src/com/alphaae/mcpe/servers/Config.java index 58886e2..97776de 100644 --- a/src/com/alphaae/mcpe/servers/Config.java +++ b/src/com/alphaae/mcpe/servers/Config.java @@ -1,6 +1,6 @@ package com.alphaae.mcpe.servers; public interface Config { - int JOIN_WAITING_TIME = 174; + int JOIN_WAITING_TIME = 200; } diff --git a/src/com/alphaae/mcpe/servers/StaticData.java b/src/com/alphaae/mcpe/servers/StaticData.java new file mode 100644 index 0000000..8f57249 --- /dev/null +++ b/src/com/alphaae/mcpe/servers/StaticData.java @@ -0,0 +1,12 @@ +package com.alphaae.mcpe.servers; + +import com.alphaae.mcpe.servers.model.RePlayer; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +public class StaticData { + public static Map rePlayerMap = new HashMap<>(); + +} diff --git a/src/com/alphaae/mcpe/servers/event/JoinQuitEvent.java b/src/com/alphaae/mcpe/servers/event/JoinQuitEvent.java index e3807b3..ea7daca 100644 --- a/src/com/alphaae/mcpe/servers/event/JoinQuitEvent.java +++ b/src/com/alphaae/mcpe/servers/event/JoinQuitEvent.java @@ -8,6 +8,7 @@ import cn.nukkit.event.player.PlayerQuitEvent; import com.alphaae.mcpe.servers.event.block.joinquit.DisplayInfoBlock; import com.alphaae.mcpe.servers.event.block.joinquit.JoinQuitEventBlock; import com.alphaae.mcpe.servers.event.block.joinquit.JoinWindowBlock; +import com.alphaae.mcpe.servers.event.block.joinquit.LoadPlayerDataBlock; import java.util.ArrayList; import java.util.List; @@ -20,6 +21,7 @@ public class JoinQuitEvent implements Listener { eventBlockList = new ArrayList<>(); eventBlockList.add(new DisplayInfoBlock()); eventBlockList.add(new JoinWindowBlock()); + eventBlockList.add(new LoadPlayerDataBlock()); } @EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL) diff --git a/src/com/alphaae/mcpe/servers/event/block/joinquit/DisplayInfoBlock.java b/src/com/alphaae/mcpe/servers/event/block/joinquit/DisplayInfoBlock.java index 246c2eb..3cdc8e0 100644 --- a/src/com/alphaae/mcpe/servers/event/block/joinquit/DisplayInfoBlock.java +++ b/src/com/alphaae/mcpe/servers/event/block/joinquit/DisplayInfoBlock.java @@ -12,6 +12,10 @@ import cn.nukkit.scheduler.TaskHandler; import cn.nukkit.utils.TextFormat; import com.alphaae.mcpe.servers.Config; import com.alphaae.mcpe.servers.MainPlugin; +import com.alphaae.mcpe.servers.StaticData; +import com.alphaae.mcpe.servers.model.RePlayer; + +import java.util.UUID; public class DisplayInfoBlock implements JoinQuitEventBlock { @@ -20,6 +24,7 @@ public class DisplayInfoBlock implements JoinQuitEventBlock { public DisplayInfoBlock() { } + @Override public void onPlayerJoin(PlayerJoinEvent event) { final Player player = event.getPlayer(); @@ -27,12 +32,13 @@ public class DisplayInfoBlock implements JoinQuitEventBlock { infoHandler = MainPlugin.getPlugin().getServer().getScheduler().scheduleDelayedRepeatingTask(new Task() { @Override public void onRun(int i) { - String name = player.getName(); + String name = player.getDisplayName(); int ping = player.getPing(); - String uuid = player.getUniqueId().toString(); - int coin = 2000; + UUID uuid = player.getUniqueId(); + RePlayer rePlayer = StaticData.rePlayerMap.get(uuid); + int coin = rePlayer.getCoin(); - player.sendActionBar(TextFormat.colorize("&b" + name + " &f延迟: " + ping + "ms 硬币: " + coin)); + player.sendActionBar(TextFormat.colorize("" + name + " &f延迟: " + ping + "ms 硬币: " + coin)); } }, Config.JOIN_WAITING_TIME, 12); } catch (Exception e) { @@ -42,6 +48,7 @@ public class DisplayInfoBlock implements JoinQuitEventBlock { } + @Override public void onPlayerQuit(PlayerQuitEvent event) { if (infoHandler != null) infoHandler.cancel(); diff --git a/src/com/alphaae/mcpe/servers/event/block/joinquit/LoadPlayerDataBlock.java b/src/com/alphaae/mcpe/servers/event/block/joinquit/LoadPlayerDataBlock.java new file mode 100644 index 0000000..4005a1f --- /dev/null +++ b/src/com/alphaae/mcpe/servers/event/block/joinquit/LoadPlayerDataBlock.java @@ -0,0 +1,31 @@ +package com.alphaae.mcpe.servers.event.block.joinquit; + +import cn.nukkit.Player; +import cn.nukkit.event.player.PlayerJoinEvent; +import cn.nukkit.event.player.PlayerQuitEvent; +import cn.nukkit.utils.TextFormat; +import com.alphaae.mcpe.servers.StaticData; +import com.alphaae.mcpe.servers.model.RePlayer; + +public class LoadPlayerDataBlock implements JoinQuitEventBlock { + + @Override + public void onPlayerJoin(PlayerJoinEvent event) { + Player player = event.getPlayer(); + + //读取数据 + + String title = "[称号]"; + + player.setDisplayName(TextFormat.colorize("&e" + title + " &b" + player.getName() + "&f")); + + RePlayer rePlayer = new RePlayer(player, title, 4000); + StaticData.rePlayerMap.put(player.getUniqueId(), rePlayer); + } + + @Override + public void onPlayerQuit(PlayerQuitEvent event) { + Player player = event.getPlayer(); + StaticData.rePlayerMap.remove(player.getUniqueId()); + } +} diff --git a/src/com/alphaae/mcpe/servers/model/RePlayer.java b/src/com/alphaae/mcpe/servers/model/RePlayer.java new file mode 100644 index 0000000..3147b32 --- /dev/null +++ b/src/com/alphaae/mcpe/servers/model/RePlayer.java @@ -0,0 +1,30 @@ +package com.alphaae.mcpe.servers.model; + +import cn.nukkit.Player; + +public class RePlayer { + + private Player player; + + private String title; + private int coin; + + public RePlayer(Player player, String title, int coin) { + this.player = player; + this.title = title; + this.coin = coin; + } + + public Player getPlayer() { + return player; + } + + + public String getTitle() { + return title; + } + + public int getCoin() { + return coin; + } +} \ No newline at end of file diff --git a/src/com/alphaae/mcpe/servers/model/SuPlayer.java b/src/com/alphaae/mcpe/servers/model/SuPlayer.java deleted file mode 100644 index b711511..0000000 --- a/src/com/alphaae/mcpe/servers/model/SuPlayer.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.alphaae.mcpe.servers.model; - -import cn.nukkit.Player; - -public class SuPlayer { - private Player player; - private String name; - - -}