From 0173139302d3222383627c86ab418df7e325da8b Mon Sep 17 00:00:00 2001 From: AlphaAE Date: Fri, 10 May 2019 11:49:10 +0800 Subject: [PATCH] updata --- src/com/alphaae/mcpe/servers/MainPlugin.java | 2 ++ .../command/UpdataUserDataCommand.java | 30 +++++++++++++++++++ .../mcpe/servers/form/FormWindowTeleport.java | 10 ++++++- .../alphaae/mcpe/servers/model/RePlayer.java | 28 +++++++++++++++++ .../mcpe/servers/model/UserLocation.java | 7 +++++ .../servers/utils/ChangePlayerCoinUtils.java | 2 +- 6 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 src/com/alphaae/mcpe/servers/command/UpdataUserDataCommand.java create mode 100644 src/com/alphaae/mcpe/servers/model/UserLocation.java diff --git a/src/com/alphaae/mcpe/servers/MainPlugin.java b/src/com/alphaae/mcpe/servers/MainPlugin.java index 0b9d593..4bcc927 100644 --- a/src/com/alphaae/mcpe/servers/MainPlugin.java +++ b/src/com/alphaae/mcpe/servers/MainPlugin.java @@ -5,6 +5,7 @@ import cn.nukkit.plugin.Plugin; import cn.nukkit.plugin.PluginBase; import cn.nukkit.plugin.PluginManager; import com.alphaae.mcpe.servers.command.HiCommand; +import com.alphaae.mcpe.servers.command.UpdataUserDataCommand; import com.alphaae.mcpe.servers.event.FormRespondedEvent; import com.alphaae.mcpe.servers.event.PlayerInventoryEvent; import com.alphaae.mcpe.servers.event.PlayerInteractSetEvent; @@ -45,6 +46,7 @@ public class MainPlugin extends PluginBase { private void registerCommands() { SimpleCommandMap commandMap = getServer().getCommandMap(); commandMap.register("AlphaAPI", new HiCommand(this)); + commandMap.register("AlphaAPI", new UpdataUserDataCommand(this)); } private void registerEvents() { diff --git a/src/com/alphaae/mcpe/servers/command/UpdataUserDataCommand.java b/src/com/alphaae/mcpe/servers/command/UpdataUserDataCommand.java new file mode 100644 index 0000000..a1ac92c --- /dev/null +++ b/src/com/alphaae/mcpe/servers/command/UpdataUserDataCommand.java @@ -0,0 +1,30 @@ +package com.alphaae.mcpe.servers.command; + +import cn.nukkit.command.Command; +import cn.nukkit.command.CommandSender; +import cn.nukkit.utils.TextFormat; +import com.alphaae.mcpe.servers.MainPlugin; + +public class UpdataUserDataCommand extends Command { + private MainPlugin plugin; + + public UpdataUserDataCommand(MainPlugin plugin) { + super("updatauserdata", "更新用户数据指令", "/updatauserdata"); + this.plugin = plugin; + } + + @Override + public boolean execute(CommandSender commandSender, String s, String[] strings) { + if (!this.plugin.isEnabled()) return false; + if (!commandSender.hasPermission("alphaapi.command.console")) { + commandSender.sendMessage(TextFormat.RED + "你没有权限使用该指令"); + return false; + } + + if (commandSender.isPlayer()) { + + return true; + } + return false; + } +} diff --git a/src/com/alphaae/mcpe/servers/form/FormWindowTeleport.java b/src/com/alphaae/mcpe/servers/form/FormWindowTeleport.java index 6684bb9..e05251d 100644 --- a/src/com/alphaae/mcpe/servers/form/FormWindowTeleport.java +++ b/src/com/alphaae/mcpe/servers/form/FormWindowTeleport.java @@ -6,6 +6,8 @@ import cn.nukkit.form.element.ElementButton; import cn.nukkit.form.element.ElementButtonImageData; import cn.nukkit.form.response.FormResponseSimple; import cn.nukkit.form.window.FormWindowSimple; +import cn.nukkit.level.Location; +import cn.nukkit.level.Position; import cn.nukkit.utils.TextFormat; import com.alphaae.mcpe.servers.StaticData; import com.alphaae.mcpe.servers.event.block.form.FormEvent; @@ -27,6 +29,7 @@ public class FormWindowTeleport extends FormWindowSimple implements FormEvent { private void createButtons(Player player, RePlayer rePlayer) { addButton(new ElementButton("返回")); addButton(new ElementButton("上次死亡地点")); + addButton(new ElementButton("主城")); addButton(new ElementButton("")); } @@ -40,8 +43,13 @@ public class FormWindowTeleport extends FormWindowSimple implements FormEvent { player.showFormWindow(formWindowMeun); break; case "上次死亡地点": - player.sendMessage("传送"); + player.sendMessage("" + player.getLevel().getName()); break; + case "主城": + Position spawnLocation = player.getLevel().getSpawnLocation(); + player.teleport(spawnLocation); + break; + } } } diff --git a/src/com/alphaae/mcpe/servers/model/RePlayer.java b/src/com/alphaae/mcpe/servers/model/RePlayer.java index 54b3979..211f620 100644 --- a/src/com/alphaae/mcpe/servers/model/RePlayer.java +++ b/src/com/alphaae/mcpe/servers/model/RePlayer.java @@ -1,6 +1,8 @@ package com.alphaae.mcpe.servers.model; import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; public class RePlayer implements Serializable { @@ -9,6 +11,8 @@ public class RePlayer implements Serializable { private String title; //硬币 private int coin; + //记录的传送点 + private Map userLocationMap = new HashMap<>(); public RePlayer(UUID uuid, String title, int coin) { this.uuid = uuid; @@ -39,4 +43,28 @@ public class RePlayer implements Serializable { public void setCoin(int coin) { this.coin = coin; } + + public Map getUserLocationMap() { + return userLocationMap; + } + + public boolean putUserLocation(String name, UserLocation location) { + try { + userLocationMap.put(name, location); + return true; + } catch (Exception e) { + return false; + } + } + + public boolean removeUserLocation(String name) { + try { + userLocationMap.remove(name); + return true; + } catch (Exception e) { + return false; + } + } + + } \ No newline at end of file diff --git a/src/com/alphaae/mcpe/servers/model/UserLocation.java b/src/com/alphaae/mcpe/servers/model/UserLocation.java new file mode 100644 index 0000000..3eb2d86 --- /dev/null +++ b/src/com/alphaae/mcpe/servers/model/UserLocation.java @@ -0,0 +1,7 @@ +package com.alphaae.mcpe.servers.model; + +import java.io.Serializable; + +public class UserLocation implements Serializable { + +} diff --git a/src/com/alphaae/mcpe/servers/utils/ChangePlayerCoinUtils.java b/src/com/alphaae/mcpe/servers/utils/ChangePlayerCoinUtils.java index 22cb7f9..8397f91 100644 --- a/src/com/alphaae/mcpe/servers/utils/ChangePlayerCoinUtils.java +++ b/src/com/alphaae/mcpe/servers/utils/ChangePlayerCoinUtils.java @@ -26,7 +26,7 @@ public class ChangePlayerCoinUtils { return false; } - public static boolean GaveIcon(RePlayer rePlayer1, RePlayer rePlayer2, int count) { + public static boolean GiveIcon(RePlayer rePlayer1, RePlayer rePlayer2, int count) { int userCoin1 = rePlayer1.getCoin(); int userCoin2 = rePlayer2.getCoin(); int newCoin1 = userCoin1 - count;