update tp
This commit is contained in:
@ -4,4 +4,5 @@ public interface Config {
|
||||
int JOIN_WAITING_TIME = 240;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -35,7 +35,6 @@ public class HiCommand extends Command {
|
||||
//测试指令
|
||||
RePlayer rePlayer = StaticData.rePlayerMap.get(uuid);
|
||||
ChangePlayerCoinUtils.ReduceIcon(rePlayer, 100);
|
||||
rePlayer.putUserLocation("坐标1", new UserLocation(player.getX(), player.getY(), player.getZ(), player.getLevel().getName()));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -15,6 +15,7 @@ import com.alphaae.mcpe.servers.StaticData;
|
||||
import com.alphaae.mcpe.servers.event.block.form.FormEvent;
|
||||
import com.alphaae.mcpe.servers.model.RePlayer;
|
||||
import com.alphaae.mcpe.servers.model.UserLocation;
|
||||
import com.alphaae.mcpe.servers.utils.ToastUtils;
|
||||
import com.sun.istack.internal.NotNull;
|
||||
|
||||
import java.util.Iterator;
|
||||
@ -29,13 +30,9 @@ public class FormWindowTeleport extends FormWindowSimple implements FormEvent {
|
||||
super("传送地点", "");
|
||||
this.player = player;
|
||||
this.rePlayer = StaticData.rePlayerMap.get(player.getUniqueId());
|
||||
createContents();
|
||||
initButtons();
|
||||
}
|
||||
|
||||
private void createContents() {
|
||||
}
|
||||
|
||||
private void initButtons() {
|
||||
addButton(new ElementButton("返回"));
|
||||
addButton(new ElementButton("上次死亡地点"));
|
||||
@ -49,6 +46,7 @@ public class FormWindowTeleport extends FormWindowSimple implements FormEvent {
|
||||
UserLocation value = (UserLocation) entry.getValue();
|
||||
addButton(new ElementButton(key + " ( " + value.getLevelName() + " )"));
|
||||
}
|
||||
addButton(new ElementButton("编辑储存的坐标"));
|
||||
}
|
||||
|
||||
public void RespondedEvent(PlayerFormRespondedEvent event) {
|
||||
@ -69,13 +67,17 @@ public class FormWindowTeleport extends FormWindowSimple implements FormEvent {
|
||||
Position deathPosition = new Position(deathUserLocation.getX(), deathUserLocation.getY(), deathUserLocation.getZ(), level);
|
||||
player.teleport(deathPosition);
|
||||
} else {
|
||||
player.sendPopup(TextFormat.colorize("&4不存在死亡记录点"));
|
||||
ToastUtils.Show(player, ToastUtils.INFO_TYPE_ERROR, "不存在死亡记录点");
|
||||
}
|
||||
return;
|
||||
case "主城":
|
||||
Position spawnLocation = player.getLevel().getSpawnLocation();
|
||||
player.teleport(spawnLocation);
|
||||
return;
|
||||
case "编辑储存的坐标":
|
||||
FormWindowTeleportEdit formWindowTeleportEdit = new FormWindowTeleportEdit(player);
|
||||
player.showFormWindow(formWindowTeleportEdit);
|
||||
return;
|
||||
}
|
||||
Map<String, UserLocation> userLocationMap = rePlayer.getUserLocationMap();
|
||||
Iterator iterator = userLocationMap.entrySet().iterator();
|
||||
|
@ -0,0 +1,78 @@
|
||||
package com.alphaae.mcpe.servers.form;
|
||||
|
||||
import cn.nukkit.Player;
|
||||
import cn.nukkit.event.player.PlayerFormRespondedEvent;
|
||||
import cn.nukkit.form.element.ElementButton;
|
||||
import cn.nukkit.form.response.FormResponseSimple;
|
||||
import cn.nukkit.form.window.FormWindowSimple;
|
||||
import com.alphaae.mcpe.servers.StaticData;
|
||||
import com.alphaae.mcpe.servers.event.block.form.FormEvent;
|
||||
import com.alphaae.mcpe.servers.model.RePlayer;
|
||||
import com.alphaae.mcpe.servers.model.UserLocation;
|
||||
import com.alphaae.mcpe.servers.utils.ToastUtils;
|
||||
import com.sun.istack.internal.NotNull;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
|
||||
public class FormWindowTeleportEdit extends FormWindowSimple implements FormEvent {
|
||||
|
||||
private transient Player player;
|
||||
private transient RePlayer rePlayer;
|
||||
|
||||
public FormWindowTeleportEdit(@NotNull Player player) {
|
||||
super("编辑记录的坐标", "");
|
||||
this.player = player;
|
||||
this.rePlayer = StaticData.rePlayerMap.get(player.getUniqueId());
|
||||
initButtons();
|
||||
}
|
||||
|
||||
private void initButtons() {
|
||||
addButton(new ElementButton("返回"));
|
||||
addButton(new ElementButton("添加当前坐标"));
|
||||
Map<String, UserLocation> userLocationMap = rePlayer.getUserLocationMap();
|
||||
Iterator iterator = userLocationMap.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry entry = (Map.Entry) iterator.next();
|
||||
String key = (String) entry.getKey();
|
||||
if (key.equals("__deathPosition__")) continue;
|
||||
UserLocation value = (UserLocation) entry.getValue();
|
||||
addButton(new ElementButton("删除 " + key + " ( " + value.getLevelName() + " )"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void RespondedEvent(PlayerFormRespondedEvent event) {
|
||||
String clickedText = ((FormResponseSimple) event.getResponse()).getClickedButton().getText();
|
||||
Player player = event.getPlayer();
|
||||
Map<String, UserLocation> userLocationMap = rePlayer.getUserLocationMap();
|
||||
if (!event.wasClosed()) {
|
||||
switch (clickedText) {
|
||||
case "返回":
|
||||
FormWindowTeleport formWindowTeleport = new FormWindowTeleport(player);
|
||||
player.showFormWindow(formWindowTeleport);
|
||||
return;
|
||||
case "添加当前坐标":
|
||||
if (userLocationMap.size() < 6) {
|
||||
FormWindowTeleportPut formWindowTeleportPut = new FormWindowTeleportPut(player);
|
||||
player.showFormWindow(formWindowTeleportPut);
|
||||
} else {
|
||||
ToastUtils.Show(player, ToastUtils.INFO_TYPE_ERROR, "记录的坐标点超过上限");
|
||||
}
|
||||
return;
|
||||
}
|
||||
Iterator iterator = userLocationMap.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry entry = (Map.Entry) iterator.next();
|
||||
String key = (String) entry.getKey();
|
||||
UserLocation value = (UserLocation) entry.getValue();
|
||||
if (clickedText.equals("删除 " + key + " ( " + value.getLevelName() + " )")) {
|
||||
userLocationMap.remove(key);
|
||||
FormWindowTeleportEdit formWindowTeleportEdit = new FormWindowTeleportEdit(player);
|
||||
player.showFormWindow(formWindowTeleportEdit);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
47
src/com/alphaae/mcpe/servers/form/FormWindowTeleportPut.java
Normal file
47
src/com/alphaae/mcpe/servers/form/FormWindowTeleportPut.java
Normal file
@ -0,0 +1,47 @@
|
||||
package com.alphaae.mcpe.servers.form;
|
||||
|
||||
import cn.nukkit.Player;
|
||||
import cn.nukkit.event.player.PlayerFormRespondedEvent;
|
||||
import cn.nukkit.form.element.ElementInput;
|
||||
import cn.nukkit.form.element.ElementLabel;
|
||||
import cn.nukkit.form.response.FormResponseCustom;
|
||||
import cn.nukkit.form.window.FormWindowCustom;
|
||||
import com.alphaae.mcpe.servers.StaticData;
|
||||
import com.alphaae.mcpe.servers.event.block.form.FormEvent;
|
||||
import com.alphaae.mcpe.servers.model.RePlayer;
|
||||
import com.alphaae.mcpe.servers.model.UserLocation;
|
||||
import com.alphaae.mcpe.servers.utils.ToastUtils;
|
||||
import com.sun.istack.internal.NotNull;
|
||||
|
||||
public class FormWindowTeleportPut extends FormWindowCustom implements FormEvent {
|
||||
|
||||
private transient Player player;
|
||||
private transient RePlayer rePlayer;
|
||||
|
||||
public FormWindowTeleportPut(@NotNull Player player) {
|
||||
super("添加记录坐标");
|
||||
this.player = player;
|
||||
this.rePlayer = StaticData.rePlayerMap.get(player.getUniqueId());
|
||||
initElements();
|
||||
}
|
||||
|
||||
private void initElements() {
|
||||
addElement(new ElementInput("坐标点名字:"));
|
||||
addElement(new ElementLabel("\n\n\n\n\n\n\n\n"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void RespondedEvent(PlayerFormRespondedEvent event) {
|
||||
FormResponseCustom formResponseCustom = (FormResponseCustom) event.getResponse();
|
||||
String posName = formResponseCustom.getInputResponse(0);
|
||||
Player player = event.getPlayer();
|
||||
if (!posName.equals("")) {
|
||||
rePlayer.putUserLocation(posName, new UserLocation(player.getX(), player.getY(), player.getZ(), player.getLevel().getName()));
|
||||
FormWindowTeleportEdit formWindowTeleportEdit = new FormWindowTeleportEdit(player);
|
||||
player.showFormWindow(formWindowTeleportEdit);
|
||||
} else {
|
||||
ToastUtils.Show(player, ToastUtils.INFO_TYPE_ERROR, "坐标点名不能为空");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
17
src/com/alphaae/mcpe/servers/utils/ToastUtils.java
Normal file
17
src/com/alphaae/mcpe/servers/utils/ToastUtils.java
Normal file
@ -0,0 +1,17 @@
|
||||
package com.alphaae.mcpe.servers.utils;
|
||||
|
||||
import cn.nukkit.Player;
|
||||
import cn.nukkit.utils.TextFormat;
|
||||
|
||||
public class ToastUtils {
|
||||
|
||||
public static final int INFO_TYPE_ERROR = 0;
|
||||
|
||||
|
||||
private static String[] infoTypeArr = new String[]{"&4"};
|
||||
|
||||
public static void Show(Player player, int infoType, String info) {
|
||||
player.sendPopup(TextFormat.colorize(infoTypeArr[infoType] + info));
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user