update tp
This commit is contained in:
@ -4,4 +4,5 @@ public interface Config {
|
|||||||
int JOIN_WAITING_TIME = 240;
|
int JOIN_WAITING_TIME = 240;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,6 @@ public class HiCommand extends Command {
|
|||||||
//测试指令
|
//测试指令
|
||||||
RePlayer rePlayer = StaticData.rePlayerMap.get(uuid);
|
RePlayer rePlayer = StaticData.rePlayerMap.get(uuid);
|
||||||
ChangePlayerCoinUtils.ReduceIcon(rePlayer, 100);
|
ChangePlayerCoinUtils.ReduceIcon(rePlayer, 100);
|
||||||
rePlayer.putUserLocation("坐标1", new UserLocation(player.getX(), player.getY(), player.getZ(), player.getLevel().getName()));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
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.event.block.form.FormEvent;
|
||||||
import com.alphaae.mcpe.servers.model.RePlayer;
|
import com.alphaae.mcpe.servers.model.RePlayer;
|
||||||
import com.alphaae.mcpe.servers.model.UserLocation;
|
import com.alphaae.mcpe.servers.model.UserLocation;
|
||||||
|
import com.alphaae.mcpe.servers.utils.ToastUtils;
|
||||||
import com.sun.istack.internal.NotNull;
|
import com.sun.istack.internal.NotNull;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
@ -29,13 +30,9 @@ public class FormWindowTeleport extends FormWindowSimple implements FormEvent {
|
|||||||
super("传送地点", "");
|
super("传送地点", "");
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.rePlayer = StaticData.rePlayerMap.get(player.getUniqueId());
|
this.rePlayer = StaticData.rePlayerMap.get(player.getUniqueId());
|
||||||
createContents();
|
|
||||||
initButtons();
|
initButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createContents() {
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initButtons() {
|
private void initButtons() {
|
||||||
addButton(new ElementButton("返回"));
|
addButton(new ElementButton("返回"));
|
||||||
addButton(new ElementButton("上次死亡地点"));
|
addButton(new ElementButton("上次死亡地点"));
|
||||||
@ -49,6 +46,7 @@ public class FormWindowTeleport extends FormWindowSimple implements FormEvent {
|
|||||||
UserLocation value = (UserLocation) entry.getValue();
|
UserLocation value = (UserLocation) entry.getValue();
|
||||||
addButton(new ElementButton(key + " ( " + value.getLevelName() + " )"));
|
addButton(new ElementButton(key + " ( " + value.getLevelName() + " )"));
|
||||||
}
|
}
|
||||||
|
addButton(new ElementButton("编辑储存的坐标"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RespondedEvent(PlayerFormRespondedEvent event) {
|
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);
|
Position deathPosition = new Position(deathUserLocation.getX(), deathUserLocation.getY(), deathUserLocation.getZ(), level);
|
||||||
player.teleport(deathPosition);
|
player.teleport(deathPosition);
|
||||||
} else {
|
} else {
|
||||||
player.sendPopup(TextFormat.colorize("&4不存在死亡记录点"));
|
ToastUtils.Show(player, ToastUtils.INFO_TYPE_ERROR, "不存在死亡记录点");
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
case "主城":
|
case "主城":
|
||||||
Position spawnLocation = player.getLevel().getSpawnLocation();
|
Position spawnLocation = player.getLevel().getSpawnLocation();
|
||||||
player.teleport(spawnLocation);
|
player.teleport(spawnLocation);
|
||||||
return;
|
return;
|
||||||
|
case "编辑储存的坐标":
|
||||||
|
FormWindowTeleportEdit formWindowTeleportEdit = new FormWindowTeleportEdit(player);
|
||||||
|
player.showFormWindow(formWindowTeleportEdit);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
Map<String, UserLocation> userLocationMap = rePlayer.getUserLocationMap();
|
Map<String, UserLocation> userLocationMap = rePlayer.getUserLocationMap();
|
||||||
Iterator iterator = userLocationMap.entrySet().iterator();
|
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